PostgreSQL 15 「4 大新功能」一次看!
前言
PostgreSQL 15 的新功能是基於 PostgreSQL 14 的基礎上進行延伸,在這次升級中,地端和分布式部署的工作負載管理有顯著提升,例如:資料排序的升級。PostgreSQL 在這次的更新中支援了熱門的 Merge 語法,並且加入更多能夠監測資料庫效能的工具。
PostgreSQL 的核心團隊成員 Jonathan Katz 說道:「PostgreSQL 開發者社群正持續地開發各種功能,例如:將運行高效能資料工作負載的流程簡化,同時優化開發者的使用體驗。」「PostgreSQL 15 的亮眼之處在於 ,透過不斷研發開源軟體, PostgreSQL 志在提供使用者一種同時對應用程式開發非常有利,也對關鍵資料非常安全的資料庫。
PostgreSQL -一種創新的資料管理系統,以可靠性和穩固性聞名於世。PostgreSQL 的研發受益於全球性開發社群,如今更成為各式企業規模的首選開源關聯式資料庫。
功能一:提升資料分類的效能和壓縮功能
在最新的版本中,PostgreSQL 改進了記憶體和磁碟上的排序演算法,基準值顯示,根據資料類型,它們的排序速度提升了 25% – 400%。在 PostgreSQL 15 中,使用 row_number()、rank()、dense_rank()和 count() 等指令作為 window functions 也同樣能提升效能。目前 ,PostgreSQL 15 支援使用者透過 SELECT DISTINCT 查詢語法進行平行執行。
基於 PostgreSQL 14 的基礎,PostgreSQL 15 支援非同步遠端查詢(async remote queries),PostgreSQL 外部資料封存技術(PostgreSQL foreign data wrapper),postgres_fdw,現在也支援 asynchronous commits 功能。
PostgreSQL 15 的功能更新也包含存檔和備份功能。PostgreSQL 15 支援 LZ4 和 zstd WAL 壓縮功能,提升特定工作負載的空間和效能。在某些特定的作業系統中,Postgres 15 新增了支援預抓 WAL 的日誌的功能來幫助加快資料恢復時間。
PostgreSQL 的內建備份指令 pg_basebackup,支援伺服器端對備份文件進行壓縮,而壓縮的選擇有 gzip、LZ4 和 zstd。此外,PostgreSQL 15 加入了使用客製化模組存檔的功能,這解決了使用 Shell 指令時資源耗損的問題。
功能二:指令開發功能
PostgreSQL 15 支援 SQL 標準 MERGE 語法。Merge 能讓使用者編寫 SQL 條件表示式(conditional SQL statement),讓使用者能在單一表示式中涵蓋 INSERT、 UPDATE 和 DELETE 指令。
PostgreSQL 15 增加了利用正規式檢視字串的新指令: regexp_count()、 regexp_instr()、regexp_like()。PostgreSQL 15 還擴展了 range_agg 指令來聚合多種資料範圍型別, 而 range_agg 這個指令則是 PostgreSQL 14 引入的。
PostgreSQL 15 讓使用者創建視觀表(View),利用呼叫指令者的權限查詢資料,而非視觀表的創建者。該指令,security_invoker,讓呼叫指令的人能夠擁有適當的權限處理底層資料,為底層資料增加一層額外的防護。
功能三:邏輯複寫支援更多功能
PosgreSQL 15 為邏輯複寫提供更多靈活性。PostgreSQL 15 版為發布端支援 row filtering 和 column lists 的功能,讓使用者複製他們指定資料表中的資料子集。PostgreSQL 15 增加了簡化衝突管理的功能,這些功能包括,讓使用者跳過同步資料時出現問題的交易資料和當偵測到錯誤時,自動暫停資料同步作業。這次的版本更新也涵蓋,進行邏輯複寫時支援 2PC 的功能。
功能四:增強日誌記錄和設定功能
PostgreSQL 15 引入一種新的日誌格式:jsonlog。這種新格式利用 Json 結構匯出日誌資料,讓 PostgreSQL 的日誌資料能被結構化日誌系統處理。
PostgreSQL 15 讓 DBA(資料庫管理員)能夠更靈活地設定資料庫,並加入了使用者能改變伺服器參數設定的權限。此外,使用者還能夠利用 psql 語法工具中的 \dconfig 指令來查詢資料庫設定的資訊。
其他值得注意的更新
- 這次 15 版的更新,PostgreSQL 的伺服器層級統計資訊 ,被存放於共享記憶體中,以節省搜集統計資料和定期將資料寫入磁碟中需花費的精力。
- PostgreSQL 15 讓使用者能夠針對叢集或資料庫設置 ICU collation。
- PostgreSQL 15 版還增加了新的內建功能擴充, pg_walinspect,讓使用者利用 SQL 介面檢視預寫式日誌檔案的內容。
- PostgreSQL 15 也撤銷所有使用者的 CREATE 權限,公開(預設)Schema 的資料庫擁有者則不受影響。
- PostgreSQL 15 移除了早已過時的「exclusive backup」備份模式以及對 PL/Python 中 Python 2 的支援。
關於 PostgreSQL
PostgreSQL 是世界上最先進的開源資料庫,擁有一個由幾千個使用者、貢獻者、企業和組織組成的全球性社群。誕生於加州柏克萊大學,PostgreSQL 擁有 35 年的發展歷史,並且仍以飛快的速度成長。PostgreSQL 成熟的技術不只能與傳統的資料庫系統並駕齊驅,在一些進階資料庫性能的比較中,例如延展性、安全性和穩定性,PostgreSQL 相較傳統的資料庫系統,又更勝一籌。
本文翻譯自:PostgreSQL 15 Released!
如果想對 PostgreSQL 有更近一步的了解,請參考:EnterpriseDB – 最先進的開源資料庫供應商