PostgreSQL 全球开发组针对当前所有被支持版本发布了一次更新,版本包括:17.2、16.6、15.10、14.15 和 13.18。此外,鉴于上一更新版本中某个问题的性质,PostgreSQL 全球开发组还针对 PostgreSQL 12 发布了 12.22 版本。PostgreSQL 12 现已结束生命周期,将不再接收更多修复。
这是 PostgreSQL 12 系列的最终版本,之后 PostgreSQL 12 将不再接受安全和错误修复。如果你正在生产环境中运行 PostgreSQL 12,官方建议制定升级计划。
Bug Fixes and Improvements
下面列出的问题影响 PostgreSQL 17。其中一些问题也可能会影响其他受支持的 PostgreSQL 版本。
- 恢复
ALTER ROLE .. SET ROLE
和ALTER DATABASE .. SET ROLE
的功能。针对 CVE-2024-10978 的修复,意外地导致如果角色设置来自非交互源,包括以前的ALTER {ROLE|DATABASE}
命令和PGOPTIONS
环境变量,则无法应用这些设置。 - 恢复使用 2024-11-14 版本(17.0、16.4、15.8、14.13、13.16、12.20 及更早版本)之前的 PostgreSQL构建的
timescaledb
和其他 PostgreSQL 扩展的兼容性。此修复会将struct ResultRelInfo
恢复到以前的大小,因此受影响的扩展无需重建。 - 修复逻辑复制槽
restart_lsn
可能倒退的情况。 - 避免在执行
pg_rewind
时删除仍然需要的 WAL 文件。 - 修复与删除共享统计条目相关的竞争条件,这可能会导致统计数据丢失。
- 修复了当表具有非默认操作类的索引时,
ALTER TABLE
在检查索引的 opclass 选项是否已更改时发生的崩溃。
更多详情可查看官方公告。