PostgreSQL 13 發布!

發布於 2020-09-24,由 PostgreSQL 全球開發團隊
PostgreSQL 專案

PostgreSQL 全球開發團隊今天宣布發布 PostgreSQL 13,這是世界上 最先進的開放原始碼資料庫 的最新版本。

PostgreSQL 13 對其索引和查詢系統進行了重大改進,這有益於大型資料庫,包括節省索引空間和提高效能、更快的回應時間,用於使用聚合或分割區的查詢、使用增強統計資訊時更好的查詢規劃等等。

除了高度要求的功能(例如 平行化清理 (vacuuming)增量排序)之外,PostgreSQL 13 為大型和小型工作負載提供了更好的資料管理體驗,並針對日常管理進行了最佳化、為應用程式開發人員提供了更多便利性,以及增強了安全性。

PostgreSQL 核心團隊成員 Peter Eisentraut 說:「PostgreSQL 13 展示了我們全球社群在推進世界上最先進的開放原始碼關聯式資料庫的能力方面的協作和奉獻精神。每次發布所帶來的創新以及其可靠性和穩定性的聲譽,是越來越多的人選擇使用 PostgreSQL 於其應用程式的原因。」

PostgreSQL 是一種創新的資料管理系統,以其可靠性和穩健性而聞名,受益於來自 全球開發者社群 超過 25 年的開放原始碼開發,並且已成為各種規模組織首選的開放原始碼關聯式資料庫。

持續效能提升

基於先前 PostgreSQL 版本的工作,PostgreSQL 13 可以有效地處理 B-tree 索引中的重複資料,這是標準資料庫索引。這降低了 B-tree 索引所需的整體空間使用量,同時提高了整體查詢效能。

PostgreSQL 13 引入了增量排序,其中查詢中較早步驟的排序資料可以加速稍後步驟的排序。此外,PostgreSQL 現在可以使用 擴展統計資訊系統(透過 CREATE STATISTICS 存取)來為具有 OR 子句和 IN/ANY 查詢的列表建立改進的計劃。

在 PostgreSQL 13 中,更多類型的 彙總群組集合查詢可以利用 PostgreSQL 的高效雜湊聚合功能,因為具有大型彙總的查詢不必完全放入記憶體中。具有 分割區表 的查詢已獲得效能提升,因為現在有更多情況可以修剪分割區並可以直接聯接分割區。

管理最佳化

清理 (Vacuuming) 是 PostgreSQL 管理的重要部分,使資料庫能夠在更新和刪除列之後回收儲存空間。儘管先前的 PostgreSQL 版本已完成簡化清理開銷的工作,但此過程也可能帶來管理挑戰。

PostgreSQL 13 繼續改進清理系統,引入了 用於索引的平行化清理。除了它提供的清理效能優勢之外,此新功能的使用可以針對特定工作負載進行調整,因為管理員可以選擇要運行的並行工作人員數量。除了這些效能優勢之外,資料插入現在可以觸發自動清理程序。

複製槽 (Replication slots) 用於防止在副本收到預寫日誌 (WAL) 之前將其移除,可以在 PostgreSQL 13 中進行調整,以指定要保留的 WAL 檔案最大數量,並幫助避免磁碟空間不足的錯誤。

PostgreSQL 13 還增加了管理員可以監控資料庫活動的更多方法,包括從 EXPLAIN 引用 WAL 使用統計資訊、串流基本備份的進度以及 ANALYZE 命令的進度。此外,可以使用新的 pg_verifybackup 命令檢查 pg_basebackup 命令輸出的完整性。

應用程式開發便利性

PostgreSQL 13 使從不同資料來源處理 PostgreSQL 資料類型變得更加容易。此版本將 datetime() 函數添加到其 SQL/JSON 路徑支援中,該函數將有效的時間格式(例如 ISO 8601 字串)轉換為 PostgreSQL 原生類型。此外,UUID v4 產生函數 gen_random_uuid() 現在可用,無需安裝任何擴充功能。

PostgreSQL 的分割區系統更具彈性,因為分割區表完全支援邏輯複製和 BEFORE 列級觸發器。

PostgreSQL 13 中的 FETCH FIRST 語法現在擴充到包含 WITH TIES 子句。指定後,WITH TIES 會包含任何基於 ORDER BY 子句與結果集中最後一列「並列」的列。

安全性增強

PostgreSQL 的擴充功能系統是其穩健性的關鍵組件,因為它允許開發人員擴充其功能。在先前的版本中,只有資料庫超級使用者才能安裝新的擴充功能。為了更容易利用 PostgreSQL 的可擴充性,PostgreSQL 13 增加了「信任的擴充功能」的概念,允許資料庫使用者安裝超級使用者標記為「信任」的擴充功能。某些內建擴充功能預設標記為信任,包括 pgcryptotablefunchstore 等。

對於需要安全驗證方法的應用程式,PostgreSQL 13 允許客戶端在使用 SCRAM 驗證要求通道綁定,並且 PostgreSQL 外部資料包裝器 (postgres_fdw) 現在可以使用基於憑證的驗證。

關於 PostgreSQL

PostgreSQL 是世界上最先進的開放原始碼資料庫,擁有由數千名使用者、貢獻者、公司和組織組成的全球社群。PostgreSQL 基於加州大學柏克萊分校開始的 30 多年的工程設計,並以無與倫比的開發速度不斷發展。PostgreSQL 成熟的功能集不僅與頂級專有資料庫系統相媲美,而且在進階資料庫功能、可擴充性、安全性和穩定性方面超越了它們。

新聞稿翻譯

連結