PostgreSQL 11 Beta 2 已發布!

發布於 2018-06-28,由 PostgreSQL 全球開發團隊
PostgreSQL 專案

PostgreSQL 全球開發團隊宣布 PostgreSQL 11 的第二個 Beta 版本現已開放下載。此版本包含 PostgreSQL 11 最終版本中將提供的所有功能的預覽(儘管該版本的一些細節可能會在此之前更改),以及在第一個 Beta 版本期間報告的錯誤修復。

本著開源 PostgreSQL 社群的精神,我們強烈建議您在您的資料庫系統中測試 PostgreSQL 11 的新功能,以幫助我們消除可能存在的任何錯誤或其他問題。雖然我們不建議您在生產環境中運行 PostgreSQL 11 Beta 2,但我們鼓勵您找到方法針對此 Beta 版本運行您典型的應用程式工作負載。

升級到 PostgreSQL 11 Beta 2

要從 Beta 1 或 PostgreSQL 的早期版本升級到 PostgreSQL 11 Beta 2,您需要使用類似於 PostgreSQL 主要版本之間升級的策略(例如,pg_upgradepg_dump / pg_restore)。有關更多信息,請訪問關於升級的文件部分。

PostgreSQL 11 主要功能的變更

PostgreSQL 11 Beta 1 版本宣布“用於 SCRAM 身份驗證的通道綁定”為一項主要功能,因為它可以在使用 SCRAM 身份驗證時防止中間人攻擊。在測試過程中,確定 libpq,即 PostgreSQL 的客戶端連接庫,無法強制使用通道綁定

雖然此功能可以在 PostgreSQL 的未來版本中修復,但目前 SCRAM 身份驗證的通道綁定將不被視為 PostgreSQL 11 的一項主要功能。

自 Beta 1 以來的變更

在 Beta 1 期間報告了許多 PostgreSQL 11 的錯誤修復,並已應用於 Beta 2 版本。 針對版本 10 或更早版本報告的,且也影響版本 11 的幾個錯誤修復包含在 Beta 2 版本中。 這些修復包括

  • 對 XML 支援的幾個修復,包括使用文檔節點作為 XPath 查詢的上下文(如 SQL 標準中定義的),這會影響 xpathxpath_exists 函數以及 XMLTABLE
  • 與 VACUUM 相關的幾個修復,包括潛在的資料損壞問題
  • 對分割區的修復,包括確保分割區與暫存資料表一起使用、消除 INSERT 上不必要的額外分割區約束檢查,以及為 partitionwise 聚合產生不正確的路徑
  • 修復了潛在的副本伺服器崩潰,其中副本會嘗試讀取回收的 WAL 片段
  • 修復了 pg_replication_slot_advance,包括如果未提前移動插槽則返回 NULL,以及根據插槽是物理或邏輯複寫插槽而變更更新插槽的方式
  • 確保 pg_resetwal 適用於資料目錄的相對路徑
  • 修復了查詢平行處理,包括通過忽略查詢計劃中平行不安全路徑的“平行附加”來防止崩潰
  • 修復了 variance 和類似的聚合函數在使用平行查詢執行時返回準確結果的問題
  • 修復了 COPY FROM .. WITH HEADER 在處理每 4,294,967,296 行後會刪除一行的問題
  • 確保所有與記憶體相關的組態參數都接受 "B" (位元組) 參數
  • 對 PL/Python 和 PL/Perl 中的 JSONB 轉換的幾個修復
  • 修復了 plpgsql 檢查語句,在重寫之前需要檢查原始寫入語句,可能會導致崩潰
  • 修復了 SHOW ALL 以向允許讀取所有設定的角色顯示超級使用者組態設定
  • 修復了 pg_upgrade,確保在使用帶有非 NULL 預設值的“快速 ALTER TABLE .. ADD COLUMN”功能時寫入預設值
  • 針對記憶體洩漏的幾個修復
  • 針對 Windows 平台的幾個特定修復

此更新還包含 tzdata 版本 2018e,其中包含北韓的更新。 2018e 還重新引入了最初在 2018a 中引入的負 DST 更改,這會影響愛爾蘭(1971 年至今)的歷史和當前時間戳,以及納米比亞(1994-2017 年)和前捷克斯洛伐克(1946-1947 年)的歷史時間戳。 如果您的應用程式在受影響的日期範圍內使用這些時區儲存時間戳,我們請您進行測試以確保您的應用程式按預期運行。

錯誤和相容性測試

每個 PostgreSQL 版本的穩定性在很大程度上取決於您,社群,使用您的工作負載和測試工具測試即將推出的版本,以便在 PostgreSQL 11 發布之前找到錯誤和回歸。 由於這是一個 Beta 版本,因此資料庫行為、功能細節和 API 仍可能發生細微變更。 您的反饋和測試將有助於確定新功能的最終調整,因此請在不久的將來進行測試。 使用者測試的品質有助於確定我們何時可以發布最終版本。

未解決問題的列表在 PostgreSQL 維基中公開提供。 您可以使用 PostgreSQL 網站上的此表單報告錯誤

https://postgres.tw/account/submitbug/

Beta 計劃

這是版本 11 的第二個 Beta 版本。 PostgreSQL 專案將根據測試需要發布其他 Beta 版本,然後發布一個或多個候選版本,直到 2018 年底發布最終版本。 有關更多信息,請參閱Beta 測試頁面。

連結