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

PostgreSQL 14.2, 13.6, 12.10, 11.15 和 10.20 发布!

发布于 2022-02-10,作者 PostgreSQL 全球开发组
PostgreSQL 项目

PostgreSQL 全球开发组已发布所有受支持版本的 PostgreSQL 的更新,包括 14.2、13.6、12.10、11.15 和 10.20。本次发布修复了过去三个月报告的 55 个以上的 bug。

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

错误修复和改进

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

包含在此发布版本中

  • 修复了在 VACUUM 过程中,HOT(堆仅元组)链状态发生改变时,极低概率发生的索引损坏问题。遇到此问题的可能性不大,但如果您担心,请考虑重新索引
  • 修复了在TOAST表索引上使用REINDEX CONCURRENTLY以防止损坏的问题。您可以通过再次重新索引来修复任何 TOAST 索引。
  • psql\password 命令现在默认设置为修改由 CURRENT_USER 定义的角色密码。此外,密码提示现在也包含角色名称。
  • 为分区表构建了扩展统计信息。如果您之前为分区表添加了扩展统计信息,则应该在这些表上运行ANALYZE。由于autovacuum目前不处理分区表,因此您必须定期在任何分区表上运行 ANALYZE 来更新其统计信息。
  • 修复了当统计信息对象被并发删除时,使用ALTER STATISTICS导致的崩溃问题。
  • 修复了在提取可变长度数据类型时,使用多范围类型导致的崩溃问题。
  • 对查询规划器进行了多项修复,解决了查询结果不正确的问题。
  • 对查询计划记忆化进行了多项修复。
  • 修复了物理副本启动时,对事务 ID 回绕的容忍性。
  • 在使用逻辑复制时,避免了当发布同时包含子表和父表时,对分区表数据的重复传输。
  • 当分区表的行类型被用作其他地方的复合类型时,禁止修改分区表的列数据类型。
  • 禁止对作为副本标识索引一部分的列执行ALTER TABLE ... DROP NOT NULL
  • 对缓存进行了多项修复,纠正了逻辑复制行为并提高了性能。
  • 修复了更新表达式索引时发生的内存泄漏问题。
  • 避免了在执行REASSIGN OWNED BY操作(重新分配大量对象的归属权)时发生内存泄漏。
  • 修复了在 INSERT ... VALUES 规则中出现的整行变量的显示问题。
  • 修复了当 libpq 或 ecpglib 的多线程使用在早期阶段报告错误消息时,可能导致错误消息本地化失败的竞争条件。
  • 修复了 psql\d 命令在识别父触发器时的显示问题。
  • 修复了在 Windows 上使用终端作为数据源或目的地时出现的失败问题。这影响了 psql 的 \copy 命令以及使用 -f -pg_recvlogical
  • 修复了 pg_dump--inserts--column-inserts 模式,以处理包含已生成列和已删除列的表。
  • 修复了 postgres_fdw 处理异步查询时的边缘情况。这些错误可能导致在尝试对外部表进行并行扫描时发生崩溃或结果不正确。

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

更新

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

跳过了一个或多个更新版本的用户可能需要执行额外的、更新后的步骤;有关详细信息,请参阅早期版本的发布说明。

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

链接