PostgreSQL 全球開發團隊今天宣布發布 PostgreSQL 14,這是世界上 最先進的開源資料庫的最新版本。
PostgreSQL 14 帶來了各種功能,可協助開發者和管理員部署以資料為基礎的應用程式。 PostgreSQL 繼續為複雜的資料類型添加創新功能,包括更方便的 JSON 存取以及對非連續資料範圍的支援。 此最新版本延續了 PostgreSQL 在提高高性能和分散式資料工作負載方面的趨勢,並在連線並發、高寫入工作負載、查詢平行處理和邏輯複寫方面取得了進展。
PostgreSQL 核心團隊成員 Magnus Hagander 表示:「PostgreSQL 的最新版本提升了使用者大規模管理資料工作負載的能力,增強了可觀察性,並包含了可協助應用程式開發人員的新功能。PostgreSQL 14 證明了全球 PostgreSQL 社群致力於解決回饋意見並繼續提供創新資料庫軟體,該軟體已被大小型組織部署。」
PostgreSQL 是一個創新的資料管理系統,以其可靠性和穩健性而聞名,受益於 全球開發者社群超過 25 年的開源開發,並已成為各種規模的組織首選的開源關聯式資料庫。
自 PostgreSQL 9.2 發布以來,PostgreSQL 一直支援操縱 JSON 資料,儘管值的檢索使用了唯一的語法。 PostgreSQL 14 現在允許您使用下標存取 JSON 資料,例如,像這樣的查詢 SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'];
現在可以使用了。 這使 PostgreSQL 與通常用於從 JSON 資料檢索資訊的語法保持一致。 添加到 PostgreSQL 14 的下標框架可以普遍擴展到其他巢狀資料結構,並且也應用於此版本中的 hstore
資料類型。
範圍類型,也是在 PostgreSQL 9.2 中首次發布,現在透過引入「multirange」資料類型支援非連續範圍。 多重範圍是一個非重疊範圍的排序列表,讓開發人員可以編寫更簡單的查詢來處理複雜的範圍序列。 PostgreSQL 原生的範圍類型(日期、時間、數字)支援多重範圍,並且可以擴展其他資料類型以使用多重範圍支援。
PostgreSQL 14 在使用大量連線的工作負載上提供了顯著的吞吐量提升,一些基準測試顯示速度提高了 2 倍。 此版本延續了最近對 B 樹索引管理的改進,減少了具有 頻繁更新索引的表上的索引膨脹。
PostgreSQL 14 引入了將 查詢流水線化到資料庫的能力,這可以顯著提高高延遲連線或具有許多小型寫入(INSERT
/UPDATE
/DELETE
)操作的工作負載的效能。 由於這是一個用戶端功能,您可以將流水線模式與任何現代 PostgreSQL 資料庫與版本 14 用戶端或 使用 libpq 版本 14 建立的用戶端驅動程式一起使用。
分散式 PostgreSQL 資料庫受益於 PostgreSQL 14。 使用 邏輯複寫時,PostgreSQL 現在可以將進行中的交易串流到訂閱者,從而為在訂閱者上應用大型交易帶來顯著的效能優勢。 PostgreSQL 14 還為支援邏輯複寫的邏輯解碼系統添加了其他幾個效能增強功能。
外部資料包裝器,用於跨 PostgreSQL 和其他資料庫處理聯合工作負載,現在可以在 PostgreSQL 14 中利用查詢平行處理。 此版本在 postgres_fdw
中實現了此功能,該外部資料包裝器與其他 PostgreSQL 資料庫介面。
除了支援查詢平行處理之外,postgres_fdw
現在還可以批量將資料插入外部表,並使用 IMPORT FOREIGN SCHEMA
指令匯入表分割區。
PostgreSQL 14 將其效能提升擴展到 vacuuming 系統,包括優化以減少來自 B 樹的開銷。 此版本還添加了 vacuum「緊急模式」,旨在防止交易 ID 迴繞。 用於收集資料庫統計資料的 ANALYZE
現在在 PostgreSQL 14 中運行速度顯著加快,這是因為它自己的效能改進。
PostgreSQL 的 TOAST 系統的壓縮(用於儲存較大的資料,如文字或幾何區塊)現在可以配置。 PostgreSQL 14 為 TOAST 欄位添加了 LZ4 壓縮,同時保留了對 pglz
壓縮的支援。
PostgreSQL 14 添加了多個新功能來幫助監控和可觀察性,包括追蹤 COPY
命令進度的能力,預寫日誌 (WAL) 活動,以及複寫槽上的統計資訊。 啟用 compute_query_id
讓您可以透過多個 PostgreSQL 功能(包括 pg_stat_activity
、EXPLAIN VERBOSE
等)唯一地追蹤查詢。
查詢規劃和執行受益於 PostgreSQL 14 中的增強功能。 此版本包括對 PostgreSQL 的查詢平行處理支援的多項改進,包括平行循序掃描的效能改進、PL/pgSQL
在使用 RETURN QUERY
命令時執行平行查詢的能力,以及啟用 REFRESH MATERIALIZED VIEW
以執行平行查詢的能力。 此外,使用巢狀迴圈聯接的查詢可以透過 PostgreSQL 14 中添加的額外快取來提高效能。
擴展統計資訊 現在可以在 PostgreSQL 14 中用於表達式。 此外,視窗函數 現在可以受益於增量排序,這是 PostgreSQL 13 中引入的一項功能。
儲存程序允許在程式碼區塊中進行交易控制,現在可以使用 OUT
參數傳回資料。
PostgreSQL 14 引入了使用 date_bin
函數將時間戳記「分組」或對齊到特定間隔的功能。此版本還新增了符合 SQL 標準的 SEARCH
和 CYCLE
子句,以協助遞迴 通用資料表運算式的排序和迴圈偵測。
PostgreSQL 14 可以方便地使用 pg_read_all_data
和 pg_write_all_data
預定義角色,將唯讀和唯寫權限指派給資料表、檢視表和綱要上的使用者。
此外,此版本現在使符合標準的 SCRAM-SHA-256
密碼管理和驗證系統成為新 PostgreSQL 實例上的預設選項。
PostgreSQL 是世界上最先進的開源資料庫,擁有由數千名使用者、貢獻者、公司和組織組成的全球社群。PostgreSQL 基於加州大學柏克萊分校超過 30 年的工程經驗,持續以無與倫比的速度發展。PostgreSQL 成熟的功能集不僅與頂級專有資料庫系統相匹配,而且在進階資料庫功能、可擴展性、安全性和穩定性方面超越了它們。