經過一年的發展 DBMS 的新穩定分支 。 新分支的更新 為期五年,直至 2025 年 XNUMX 月。
:
- 實施的 B樹索引中的記錄,這使得在對具有重複資料的記錄建立索引時可以提高查詢效能並減少磁碟空間消耗。 重複資料刪除是透過定期啟動處理程序來執行的,該處理程序會合併重複元組組並用指向一個儲存副本的連結替換重複項。
- 改進了使用的查詢的效能 , (分組集)或 (分區)表。 優化涉及在聚合時使用哈希而不是實際數據,這避免了在處理大型查詢時將所有數據放入記憶體中。 分區時,擴大了可以丟棄或合併分區的情況。
- 增加了使用能力 使用 CREATE STATISTICS 指令建立的查詢可以提高包含 OR 條件的查詢或使用 IN 或 ANY 運算式的清單搜尋的排程效率。
- 加快了運行期間索引的清理速度 透過並行索引中的垃圾收集。 使用新的“PARALLEL”參數,管理員可以確定將同時執行 VACUUM 的執行緒數。 新增了在資料插入後啟動自動 VACUUM 執行的功能。
- 增加了對增量排序的支持,允許您使用前一階段排序的資料來加快後續查詢處理階段的排序速度。 為了在查詢規劃器中啟用新的最佳化,有一個設定“”,預設情況下啟用。
- 增加了限制大小的功能 ,允許您自動保證保留寫入延遲日誌 (WAL) 段,直到所有接收副本的備份伺服器都收到它們為止。 複製槽還可以防止主伺服器刪除可能導致衝突的行,即使備份伺服器處於離線狀態也是如此。 使用參數 現在您可以限制 WAL 檔案的最大大小,以防止磁碟空間不足。
- 監控 DBMS 活動的功能擴大了:EXPLAIN 指令提供了有關 WAL 日誌使用情況的附加統計資料的顯示; V 提供追蹤連續備份狀態的機會; ANALYZE 指令提供操作進度的指示。
- 新增了新命令 檢查 pg_basebackup 指令所建立的備份的完整性。
- 使用運算子處理 JSON 時 允許使用 datetime() 函數轉換時間格式(ISO 8601 字串和本機 PostgreSQL 時間類型)。 例如,您可以使用結構 "jsonb_path_query('["2015-8-1", "2015-08-12"]', '$[*] ? (@.datetime() < "2015-08-2 “. datetime ())')」和「jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')"。
- 新增內建功能 產生 UUID v4。
- 分割區系統完全支援邏輯複製和「BEFORE」表達式指定的複製
在行級別工作的觸發器。 - 句法 ””現在允許使用“WITH TIES”表達式傳回位於應用“ORDER BY”後獲得的結果集末尾的附加行。
- 實施了值得信賴的附加組件的概念(“"),可以由沒有 DBMS 管理員權限的一般使用者安裝。 此類附加元件的清單最初是預先定義的,並且可以由超級使用者擴展。 值得信賴的附加組件包括 , , 等等
- 連接外部表的機制外部資料包裝器(postgres_fdw)實現了對基於憑證的身份驗證的支援。 當使用 SCRAM 身份驗證時,允許客戶端請求“「(通道綁定)。
來源: opennet.ru
