PostgreSQL 全球開發團隊已發布我們資料庫系統所有受支援版本的更新,包括 11.1、10.6、9.6.11、9.5.15、9.4.20 和 9.3.25。此版本修正了一個安全性問題,以及過去三個月回報的錯誤。
使用受影響 PostgreSQL 版本的所有使用者都應盡快更新。 如果您在安裝中使用 pg_stat_statements
,請參閱下面的「更新」說明,了解可能需要的更新後步驟。
此更新也是 PostgreSQL 9.3 的最終版本,該版本現在已終止支援,並且不再收到任何錯誤或安全性修正。 如果您的環境仍在使用 PostgreSQL 9.3,請盡快制定計劃以更新到社群支援的版本。 請參閱我們的版本控制政策以獲取更多資訊。
此版本已修補一個安全性漏洞
CREATE TRIGGER ... REFERENCING
在 pg_upgrade
和 pg_dump
中存在 SQL 注入。受影響版本:10、11
使用精心設計的觸發程序定義,當超級使用者在資料庫上執行 pg_upgrade
或在 pg_dump 轉儲/還原週期期間,攻擊者可以使用超級使用者權限執行任意 SQL 語句。 此攻擊需要在某些非暫存綱要上具有 CREATE
權限或在表上具有 TRIGGER
權限。 這在預設 PostgreSQL 配置中是可利用的,其中所有使用者在 public
綱要上都具有 CREATE
權限。
此更新還修正了過去幾個月中回報的許多錯誤。 其中一些問題僅影響版本 11,但許多問題影響所有受支援的版本。
這些版本包括以下修正:
ON COMMIT DELETE ROWS
應用於分割的暫存表格的問題LEFT JOIN
時如何處理 NULL
值CALL
語句中使用具名或預設參數的幾個問題NULL
輸入的聚合函數),該欄位強制執行嚴格性檢查CASE
語句中將表達式強制轉換為陣列類型pg_verify_checksums
錯誤地報告不應具有總和檢查碼的檔案wal_level
設定為無法支援現有複寫槽的值時啟動contrib/ltree
和 contrib/pg_trgm
psql
在下一個命令之前不會報告收到來自 NOTIFY
呼叫的消息的情況此更新還包含 tzdata 版本 2018g,用於智利、斐濟、摩洛哥和俄羅斯(伏爾加格勒)的 DST 法規變更,以及中國、夏威夷、日本、澳門和北韓的歷史修正。
PostgreSQL 9.3 現在已終止支援,並且不再收到任何錯誤或安全性修正。 我們敦促使用者盡快開始計劃升級到更高版本的 PostgreSQL。 請參閱我們的版本控制政策以獲取更多資訊。
所有 PostgreSQL 更新版本都是累加的。 與其他次要版本一樣,使用者不需要轉儲和重新載入其資料庫或使用 pg_upgrade
才能應用此更新版本; 您可以簡單地關閉 PostgreSQL 並更新其二進位檔。
如果您的系統使用 pg_stat_statements
並且您正在執行 PostgreSQL 10 或 PostgreSQL 11 版本,我們建議您在升級後執行以下命令
ALTER EXTENSION pg_stat_statements UPDATE;
跳過一個或多個更新版本的使用者可能需要執行額外的更新後步驟; 請參閱早期版本的發布說明以了解詳細資訊。