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 多个错误。

有关更改的完整列表,请查看发行说明

错误修复和改进

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

此版本中包含

  • 修复了当 HOT(仅堆元组)链在 VACUUM 期间更改状态时,索引损坏的小概率场景。遇到此问题的可能性很小,但如果您担心,请考虑重新索引
  • 修复了在 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 命令和使用 pg_recvlogical-f - 的情况。
  • 修复了 pg_dump --inserts--column-inserts 模式以处理同时包含生成列和删除列的表。
  • 修复了 postgres_fdw 处理异步查询的方式中的边缘情况。当尝试运行外部表的并行扫描时,这些错误可能导致崩溃或不正确的结果。

有关可用更改的完整列表,请查看发行说明

更新

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

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

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

链接