2017-05-11 安全性更新發布

由 PostgreSQL 全球開發團隊於 2017-05-11 發布

PostgreSQL 全球開發團隊已發布針對我們資料庫系統所有支援版本的更新,包括 9.6.3、9.5.7、9.4.12、9.3.17 和 9.2.21。此版本修正了三個安全性問題。它也修補了過去三個月回報的其他一些錯誤。使用 PGREQUIRESSL 環境變數控制連線的使用者,以及在使用外部伺服器時依賴資料庫使用者之間的安全性隔離的使用者,應盡快更新。其他使用者應計畫在下次方便的停機時間進行更新。

安全性問題

此版本已關閉三個安全性漏洞

CVE-2017-7486 的修復程式適用於新的資料庫,請參閱發布說明,瞭解如何將修復程式應用於現有的資料庫。

建議任何依賴 PGREQUIRESSL 環境變數的使用者使用 sslmode 連線字串選項,因為使用 PGREQUIRESSL 已被棄用。CVE-2017-7485 不會影響 9.2 系列。有關這些問題及其如何影響向後相容性的更多資訊,請參閱發布說明。

錯誤修正和改進

此更新還修正了過去幾個月回報的一些錯誤。其中一些問題僅影響 9.6 系列,但許多問題影響所有支援的版本。此版本包含超過 90 個修正程式,包括

  • 修正以確保 RLS 策略的一致行為
  • 修正 ALTER TABLE ... VALIDATE CONSTRAINT,使其在約束標記為 NO INHERIT 時不會遞迴到子表
  • 修正在 SP-GiST 中對某些方塊運算符的錯誤支援,這可能會產生不正確的結果
  • 修正處理查詢取消的問題
  • 當 ALTER TABLE ... ALTER COLUMN TYPE 重建現有索引時,跳過資料表空間權限檢查
  • 修正邏輯解碼期間可能無效的初始快照
  • 修正未記錄索引的 init forks 可能的損壞
  • 對 postmaster 的多個修正,包括檢查以在作為 Windows 服務執行時進行
  • 多個規劃器修正,以及平行查詢規劃中的各種小修正
  • 避免 walsender 中可能發生的崩潰,以及 GiST 索引上的一些僅索引掃描
  • 修正在嘗試停止非獨佔備份時取消 pg_stop_backup() 的問題
  • 更新 ecpg 以支援 COMMIT PREPARED 和 ROLLBACK PREPARED
  • 針對 pg_dump/pg_restore 的多個修正,包括處理程序語言的權限以及使用 --clean 選項時的權限
  • 針對 contrib 模組的多個修正,例如 dblink、pg_trgm 和 postgres_fdw
  • 修正 MSVC 建置,例如使用正確的日光節約規則來處理 POSIX 樣式的時區名稱,並支援 Tcl 8.6
  • 多項效能改進
  • 修復 cursor_to_xml() 以在 tableforest = false 時產生有效的輸出
  • 修復 float8_timestamptz() 和 make_interval() 中的捨入問題
  • 修正 pgbench 以正確處理 --connect 和 --rate 選項的組合
  • 修正命令列工具,例如 pg_upgrade 和 pg_basebackup
  • 針對 VACUUM 和 CLUSTER 的多個修正

基於邏輯解碼的複製工具的使用者,以及未記錄索引的使用者,應查閱發布說明,以瞭解升級期間可能需要的額外步驟。

此更新還包含 tzdata 版本 2017b,其中包含智利、海地和蒙古 DST 法律變更的更新,以及厄瓜多、哈薩克、賴比瑞亞和西班牙的歷史更正。切換到南美洲、太平洋和印度洋以及一些亞洲和中東國家/地區的許多時區的數字縮寫。時區庫與 IANA 發布 tzcode2017b 同步。

版本 9.2 的終止服務警告

PostgreSQL 版本 9.2 將於 2017 年 9 月終止服務。該專案預計僅針對該版本發布一到兩個更新。我們敦促使用者盡快開始計畫升級到更高版本的 PostgreSQL。請參閱我們的版本策略,以瞭解更多資訊。

更新

所有 PostgreSQL 更新版本都是累積性的。與其他次要版本一樣,使用者不需要傾印和重新載入其資料庫或使用 pg_upgrade 即可應用此更新版本;您可以簡單地關閉 PostgreSQL 並更新其二進位檔案。

更新後,基於邏輯解碼的複製工具的使用者,以及未記錄索引的使用者,應查閱發布說明,以瞭解升級期間可能需要的額外步驟。請參閱發布說明,以瞭解更多詳細資訊。

跳過一個或多個更新版本的使用者可能需要執行其他更新後步驟;請參閱早期版本的發布說明,以瞭解詳細資訊。

連結