PostgreSQL 全球开发组已发布我们数据库系统所有受支持版本的更新,包括 10.4、9.6.9、9.5.13、9.4.18、9.3.23。此版本修复了一个安全问题以及过去三个月报告的几个错误。用户应计划在下一个方便的停机时间进行更新。
请参阅“更新”部分,了解有关安全修复和“不正确的易失性和并行安全标记”修复的安装后步骤。
请注意,PostgreSQL 在 10.0 版本发布时更改了其版本控制方案,因此从 10.0、10.1、10.2 或 10.3 更新到 10.4 版本被认为是小版本更新。
此版本已关闭一个安全漏洞
请参阅下面的“更新”部分,了解更新后的步骤。
此更新还修复了过去几个月报告的 50 多个错误。其中一些问题仅影响 10 版本,但许多问题会影响所有受支持的版本。
这些修复包括
此更新还包含 tzdata 版本 2018d,其中包含巴勒斯坦和南极洲(凯西站)的更新,以及葡萄牙及其殖民地、恩德伯里岛、牙买加、特克斯和凯科斯群岛以及乌拉圭的历史修正。
所有 PostgreSQL 更新版本都是累积的。与其他小版本一样,用户不需要转储和重新加载数据库或使用 pg_upgrade 来应用此更新版本(虽然对于此版本,请参阅关于“易失性和并行安全标记”的说明);您可以简单地关闭 PostgreSQL 并更新其二进制文件。
跳过一个或多个更新版本的用户可能需要运行额外的更新后步骤;请参阅早期版本的发行说明了解详细信息。
如果您在任何 PostgreSQL 9.6 或 10 版本中安装了“adminpack”,则需要让数据库管理员在安装了“adminpack”的每个数据库中运行以下命令
ALTER EXTENSION adminpack UPDATE;
应标记为“易失”的函数
应标记为“并行不安全”的函数
如果您使用上述任何函数,您可以通过以下方式更新标记
选项 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 及更高版本)