2025年9月25日: PostgreSQL 18 发布!

PostgreSQL 16.2, 15.6, 14.11, 13.14 和 12.18 发布!

发布日期:2024-02-08,作者:PostgreSQL Global Development Group
PostgreSQL 项目 安全

PostgreSQL 全球开发组发布了对所有支持版本的 PostgreSQL 的更新,包括 16.2、15.6、14.11、13.14 和 12.18。本次发布修复了一个安全漏洞以及过去几个月报告的 65 个以上的错误。

如果您使用 GIN 索引,在更新到此版本后可能需要重新索引。请参阅发行说明了解更多信息。

有关更改的完整列表,请参阅 发行说明

安全问题

CVE-2024-0985:PostgreSQL 非所有者执行 REFRESH MATERIALIZED VIEW CONCURRENTLY 会执行任意 SQL

CVSS v3 基本分:8.0

支持的、易受攻击的版本:12 - 16。

并发刷新命令的一个步骤是在宽松的安全限制下运行的。如果物化视图的所有者能够说服超级用户或其他高权限用户对该视图执行并发刷新,则视图的所有者可以控制以执行 REFRESH 的用户的特权执行的代码。该漏洞的修复措施是,按照预期,所有用户确定的代码都将以视图所有者的身份运行。

PostgreSQL 项目感谢 Pedro Gallegos 报告此问题。

错误修复和改进

本次更新修复了过去几个月报告的 65 个以上错误。下面列出的问题会影响 PostgreSQL 16。其中一些问题也可能影响 PostgreSQL 的其他支持版本。

  • 修复在执行 JIT 内联时可能导致内存不足的内存泄漏。
  • 多个查询规划器修复。
  • 在更新分区键列时,使 MERGE 的行为与 UPDATE 对齐,并跳过触发 AFTER UPDATE ROW 触发器和其他更新后操作。
  • 修复 ALTER TEXT SEARCH CONFIGURATION ... MAPPING 命令中重复令牌名称的问题。
  • 修复带重复角色名的 DROP ROLE
  • 在 DROP STATISTICS期间正确锁定关联表,以防止并发执行 ANALYZE 时出错。
  • 修复 GENERATEDDEFAULT 表达式的函数易变性检查。
  • 确保在将现有索引与新的分区索引匹配时,排序规则一致。
  • 当在分区索引上并发执行 REINDEX INDEX 时,避免因子索引被删除而导致的失败。
  • 修复 GIN 索引清理期间的锁定问题。在这种情况下,如果多个进程尝试清理同一个 GIN 索引页,可能会导致索引损坏。如果您认为受到此问题的影响,请在安装此更新后重新索引您的 GIN 索引。
  • 避免对分区 SP-GiST 索引出现失败。
  • 对大型对象的多个所有权修复。
  • EXPLAIN (BUFFERS) 中,将 I/O 计时数据“shared/local”重命名为“shared”。
  • 确保在系统崩溃期间或之后不久执行 CREATE DATABASE 命令的持久性。
  • 在从备份启动和结束恢复时添加更多日志消息。
  • 撤销了一项更改,该更改导致 walreceiver 进程在等待复制连接建立时对 SIGTERM 没有响应。
  • 对逻辑复制的多个修复。
  • 修复与 OpenSSL 3.2 的不兼容性。
  • 修复 PL/pgSQL,允许 CREATE FUNCTION/CREATE PROCEDURE SQL 命令使用 SQL 标准函数体。
  • 修复 libpq 管道模式中的错误处理。
  • 确保 initdb 总是取消注释 postgresql.conflc_ 系列参数的条目。
  • pg_dump 中,不转储扩展成员对象的 RLS 策略或安全标签。

本次发布还更新了时区数据文件到 tzdata release 2024a,以应对格陵兰、哈萨克斯坦和巴勒斯坦的 DST 法规变更,以及对南极的 Casey 和 Vostok 站的修正。此外,还对越南、多伦多和米克隆进行了历史修正。

更新

所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户不需要转储和重新加载数据库或使用 pg_upgrade 来应用此更新版本;您可以直接关闭 PostgreSQL 并更新其二进制文件。

如果您使用 GIN 索引,在更新到此版本后可能需要重新索引。请参阅发行说明了解更多信息。

跳过一个或多个更新版本的用户可能需要运行额外的更新后步骤;请参阅早期版本的发行说明以获取详细信息。

有关更多详细信息,请参阅 发行说明

链接

如果您对此版本公告有任何更正或建议,请将其发送至 pgsql-www@lists.postgresql.org 公共 邮件列表