PostgreSQL 全球开发组发布了对所有支持版本的 PostgreSQL 的更新,包括 16.2、15.6、14.11、13.14 和 12.18。本次发布修复了一个安全漏洞以及过去几个月报告的 65 个以上的错误。
如果您使用 GIN 索引,在更新到此版本后可能需要重新索引。请参阅发行说明了解更多信息。
有关更改的完整列表,请参阅 发行说明。
REFRESH MATERIALIZED VIEW CONCURRENTLY 会执行任意 SQLCVSS v3 基本分:8.0
支持的、易受攻击的版本:12 - 16。
并发刷新命令的一个步骤是在宽松的安全限制下运行的。如果物化视图的所有者能够说服超级用户或其他高权限用户对该视图执行并发刷新,则视图的所有者可以控制以执行 REFRESH 的用户的特权执行的代码。该漏洞的修复措施是,按照预期,所有用户确定的代码都将以视图所有者的身份运行。
PostgreSQL 项目感谢 Pedro Gallegos 报告此问题。
本次更新修复了过去几个月报告的 65 个以上错误。下面列出的问题会影响 PostgreSQL 16。其中一些问题也可能影响 PostgreSQL 的其他支持版本。
MERGE 的行为与 UPDATE 对齐,并跳过触发 AFTER UPDATE ROW 触发器和其他更新后操作。ALTER TEXT SEARCH CONFIGURATION ... MAPPING 命令中重复令牌名称的问题。DROP ROLE。ANALYZE 时出错。GENERATED 和 DEFAULT 表达式的函数易变性检查。REINDEX INDEX 时,避免因子索引被删除而导致的失败。EXPLAIN (BUFFERS) 中,将 I/O 计时数据“shared/local”重命名为“shared”。CREATE DATABASE 命令的持久性。SIGTERM 没有响应。CREATE FUNCTION/CREATE PROCEDURE SQL 命令使用 SQL 标准函数体。initdb 总是取消注释 postgresql.conf 中 lc_ 系列参数的条目。pg_dump 中,不转储扩展成员对象的 RLS 策略或安全标签。本次发布还更新了时区数据文件到 tzdata release 2024a,以应对格陵兰、哈萨克斯坦和巴勒斯坦的 DST 法规变更,以及对南极的 Casey 和 Vostok 站的修正。此外,还对越南、多伦多和米克隆进行了历史修正。
所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户不需要转储和重新加载数据库或使用 pg_upgrade 来应用此更新版本;您可以直接关闭 PostgreSQL 并更新其二进制文件。
如果您使用 GIN 索引,在更新到此版本后可能需要重新索引。请参阅发行说明了解更多信息。
跳过一个或多个更新版本的用户可能需要运行额外的更新后步骤;请参阅早期版本的发行说明以获取详细信息。
有关更多详细信息,请参阅 发行说明。
如果您对此版本公告有任何更正或建议,请将其发送至 pgsql-www@lists.postgresql.org 公共 邮件列表。