PostgreSQL Global Development Group 已發布我們資料庫系統所有支援版本的更新,包括 10.4、9.6.9、9.5.13、9.4.18、9.3.23。此版本修復了一個安全性問題以及過去三個月報告的多個錯誤。使用者應計劃在下一次方便的停機時間更新。
請參閱「更新」章節,了解安全性修復和「不正確的 volatility 和 parallel-safety 標記」修復的安裝後步驟。
請注意,PostgreSQL 在發布 10.0 版時更改了其版本控制方案,因此從 10.0、10.1、10.2 或 10.3 更新到 10.4 版被視為小版本更新。
此版本已修復一個安全性漏洞
請參閱下面的「更新」章節,了解更新後步驟。
此更新還修復了過去幾個月報告的 50 多個錯誤。其中一些問題僅影響 10 版,但許多問題影響所有支援的版本。
這些修復包括
此更新還包含 tzdata release 2018d,其中包含 Palestine 和 Antarctica (Casey Station) 的更新,以及葡萄牙及其殖民地,以及 Enderbury、Jamaica、Turks & Caicos Islands 和 Uruguay 的歷史修正。
所有 PostgreSQL 更新版本都是累積的。與其他小版本一樣,使用者不需要 dump 和 reload 他們的資料庫或使用 pg_upgrade 來應用此更新版本(雖然對於此版本,請參閱關於「volatility 和 parallel-safety 標記」的註解);您可以簡單地關閉 PostgreSQL 並更新其二進位檔。
跳過一個或多個更新版本的用戶可能需要運行其他更新後步驟;請參閱早期版本的發布說明以獲取詳細資訊。
如果您在任何 PostgreSQL 9.6 或 10 版本中安裝了「adminpack」,則需要讓您的資料庫管理員在安裝了「adminpack」的每個資料庫中執行以下命令
ALTER EXTENSION adminpack UPDATE;
應標記為 "volatile" 的函數
應標記為 "parallel-unsafe" 的函數
如果您使用上述任何函數,您可以透過以下方式更新標記
選項 1:在您使用的每個資料庫的 "pg_proc" 表中手動更新標記
這些函數。您可以透過以資料庫超級使用者身份執行以下命令來實現此目的
/* Functions that should be marked "volatile" */
ALTER FUNCTION pg_catalog.cursor_to_xml(refcursor, int, boolean, boolean, text) VOLATILE;
ALTER FUNCTION pg_catalog.cursor_to_xmlschema(refcursor, boolean, boolean, text) VOLATILE;
ALTER FUNCTION pg_catalog.query_to_xml(text, boolean, boolean, text) VOLATILE;
ALTER FUNCTION pg_catalog.query_to_xml_and_xmlschema(text, boolean, boolean, text) VOLATILE;
ALTER FUNCTION pg_catalog.query_to_xmlschema(text, boolean, boolean, text) VOLATILE;
/* Functions that should be marked "parallel-unsafe" */
ALTER FUNCTION pg_catalog.binary_upgrade_create_empty_extension(text, text, bool, text, _oid, _text, _text) PARALLEL UNSAFE;
ALTER FUNCTION pg_catalog.brin_desummarize_range(regclass, bigint) PARALLEL UNSAFE;
ALTER FUNCTION pg_catalog.brin_summarize_new_values(regclass) PARALLEL UNSAFE;
ALTER FUNCTION pg_catalog.brin_summarize_range(regclass, bigint) PARALLEL UNSAFE;
ALTER FUNCTION pg_catalog.cursor_to_xml(refcursor, int, boolean, boolean, text) PARALLEL UNSAFE;
ALTER FUNCTION pg_catalog.cursor_to_xmlschema(refcursor, boolean, boolean, text) PARALLEL UNSAFE;
ALTER FUNCTION pg_catalog.gin_clean_pending_list(regclass) PARALLEL UNSAFE;
ALTER FUNCTION pg_catalog.pg_import_system_collations(regnamespace) PARALLEL UNSAFE;
ALTER FUNCTION pg_catalog.ts_rewrite(tsquery, text) PARALLEL UNSAFE;
ALTER FUNCTION pg_catalog.ts_stat(text) PARALLEL UNSAFE;
ALTER FUNCTION pg_catalog.ts_stat(text, text) PARALLEL UNSAFE;
選項 2:執行 pg_upgrade 到包含正確標記資料的版本(例如 10.4 及以上版本)