PostgreSQL 全球開發組釋出了我們資料庫系統所有支援版本的更新,包括 10.4、9.6.9、9.5.13、9.4.18、9.3.23。本次釋出修復了一個安全問題以及過去三個月報告的若干 bug。使用者應計劃在下次方便的停機時間進行更新。
請參閱“更新”部分,瞭解有關安全修復和“不正確的易變性和並行安全性標記”修復的安裝後步驟。
請注意,PostgreSQL 在 10.0 版本釋出時更改了其版本方案,因此從 10.0、10.1、10.2 或 10.3 更新到 10.4 版本被視為次要更新。
本次釋出修復了一個安全漏洞
請參閱下面的“更新”部分,瞭解更新後的步驟。
本次更新還修復了過去幾個月報告的 50 多個 bug。其中一些問題僅影響 10 版本,但許多問題影響所有支援的版本。
這些修復包括:
本次更新還包含 tzdata 2018d 版本,增加了對巴勒斯坦和南極洲(凱西站)的更新,以及對葡萄牙及其殖民地、恩德伯島、牙買加、特克斯和凱科斯群島以及烏拉圭的歷史修正。
所有 PostgreSQL 更新版本都是累積的。與其它次要版本一樣,使用者不需要轉儲和重新載入其資料庫或使用 pg_upgrade 來應用此更新版本(儘管對於此版本,請參閱關於“易變性和並行安全性標記”的說明);您可以簡單地關閉 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 及更高版本)。