PostgreSQL:PostgreSQL 發布 9.3.5、9.2.9、9.1.14、9.0.18 和 8.4.22 更新

張貼於 2014-07-24,作者:PostgreSQL 全球開發團隊

PostgreSQL 全球開發團隊已發布所有受支援資料庫系統版本的更新,包括 9.3.5、9.2.9、9.1.14、9.0.18 和 8.4.22 版。此小版本修正了過去四個月中使用者發現並回報的一些問題,包括一些資料損毀問題,並且是 8.4 版的最後一次更新。 9.3 版的使用者應盡早更新;8.4 版的使用者應安排升級到受支援的 PostgreSQL 版本。

此版本中修復的著名問題包括:

PostgreSQL 9.3 和 pg_upgrade:使用 pg_upgrade 升級到 9.3 版的使用者,可能存在交易資訊問題,這會導致 VACUUM 最終失敗。這些使用者應執行版本說明中提供的腳本,以確定其安裝是否受到影響,然後採取其中概述的補救步驟。

PostgreSQL 9.3 崩潰恢復:已修復 PostgreSQL 9.3 中,在主伺服器或備用伺服器上崩潰恢復期間可能損害資料完整性的三個問題。

GIN 和 GiST 索引:用於 PostGIS 和全文索引的 GIN 和 GiST 索引的三個問題可能會導致損毀或不正確的查詢回應。 任何位元或可變位元欄位上的索引都應按照版本說明中的說明重建。

make check 期間的安全性:先前安全公告中報告的 "make check" 期間不安全的 Socket 權限現已修復。

在此版本中,版本 8.4 現在已終止生命週期 (EOL),根據我們的版本發布政策。 這表示將不再發布版本 8.4 的其他更新,使用者應計劃盡快升級到較新版本。

除了上述內容之外,此更新版本還包括以下影響多個 PostgreSQL 版本的修復:

  • 修復並行 Tuple 更新的競爭條件
  • 防止「找不到路徑索引鍵項目進行排序」的規劃器錯誤
  • 正確最佳化帶有 Set-Returning 函數的子查詢
  • 修復最佳化 AND/OR NULL 中的規劃器迴歸
  • 修復規劃器對 VARIADIC 函數的處理
  • 使 json_populate_recordset 正確處理巢狀 JSON
  • 防止建立複雜類型時損毀 TOAST 值
  • 防止「記錄類型尚未註冊」的查詢錯誤
  • 修復函數和倒回游標可能發生的崩潰情況
  • 修補三個記憶體洩漏
  • 修復子交易刪除的列的列檢查
  • 變更 pg_stat_activity 在 PREPARE TRANSACTION 期間顯示 Session 的方式
  • 防止 VACUUM FULL 期間的多重交易 ID 損毀
  • 修復顯示複雜檢視定義時的縮排
  • 修復 pg_hba.conf 中的用戶端主機名稱查詢
  • 修復 OSX 上的 libpython 連結
  • 避免 libpq 中的緩衝區膨脹
  • 修復傾印具體化檢視的問題
  • 修復 pg_upgrade 對多重交易 ID 的處理
  • 確保 pgcrypto 從記憶體中清除敏感資訊
  • 克里米亞、埃及和摩洛哥的時區更新

此版本包含四個 Windows 專用修復

  • 防止表空間建立恢復錯誤
  • 修復 Socket 故障檢測
  • 允許使用者在啟動後變更參數
  • 正確引用可執行檔名稱,以免它們失敗

以上一些問題需要受影響的使用者執行更新後步驟。請參閱版本說明以了解詳細資訊。

與其他小版本一樣,使用者無需傾印和重新載入資料庫或使用 pg_upgrade 即可應用此更新版本;您可以簡單地關閉 PostgreSQL 並更新其二進位檔案。跳過多個更新版本的使用者可能需要執行其他更新後步驟;請參閱版本說明以了解詳細資訊。

連結