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 及更高版本)。