PostgreSQL 17.5、16.9、15.13、14.18 和 13.21 发布!
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询
PostgreSQL全球发展小组已发布所有受支持版本的PostgreSQL的更新,包括17.5、16.9、15.13、14.18和13.21。 此版本修复了过去几个月中报告的1个安全漏洞和超过60个错误。
PostgreSQL 13 结束支持声明
PostgreSQL 13 将于 2025 年 11 月 13 日停止接收修复。如果您在生产环境中运行 PostgreSQL 13,我们建议您计划升级到最新支持版本的 PostgreSQL。
安全问题
CVE-2025-4207:PostgreSQL GB18030 编码验证可以读取验证失败的文本在分配结束后的一页字节
CVSS v3.1 基础评分: 5.9
支持版本、易受攻击版本:13 - 17。
在PostgreSQL GB18030编码验证中,一个缓冲区过读允许数据库输入提供者在某些平台上实现临时的服务拒绝。这影响了数据库服务器和libpq。受影响的版本包括PostgreSQL 17.5、16.9、15.13、14.18和13.21之前的所有版本。
错误修复和改进
此更新修复了过去几个月中报告的60多个错误。 以下列出的问题影响PostgreSQL 17。这些问题可能也会影响其他受支持的PostgreSQL版本。
正确处理分区表上的自引用外键。创建或附加分区失败,如果外键引用的表是相同的分区表,则无法为外键约束创建所需的目录条目。这导致无法完全强制执行该约束。要解决此问题,请参阅“更新”部分中的说明。
修复了在使用BRIN bloom索引时(例如使用date_bloom_ops操作符类)可能导致数据丢失的问题。
修复 MERGE 到一个 分区表中,执行 DO NOTHING 操作。
防止在INSERT 命令中失败,当表有一个GENERATED列 的域类型 且该域的约束不允许NULL值。
修复ALTER TABLE .. ADD COLUMN以正确处理具有域类型且有其自己的默认值,而DEFAULT列没有设置默认值的情况。
修复在JSON构造函数表达式的键中进行类型转换时的问题。
修复XMLSERIALIZE(),以便在INDENT视图或规则中存在时,正确地导出该选项。这在恢复时是显而易见的。
多个查询计划器修复,包括避免在具有 FILTER和 ORDER BY或 DISTINCT子句的聚合函数中过早评估参数,这可能导致不必要的失败。
修复了在对同一表执行真空操作时执行没有输出列的位图扫描可能会返回不正确结果的问题。
修复在有大量搜索键(例如,jsonbcol ?| array[...]有数万数组元素)时GIN索引搜索启动的性能问题。
确保活动WAL发送器的I/O统计数据在最多一秒钟内被报告。
修复在处理中出现的竞争条件synchronous_standby_names在启动后立即,后端可能无法等待同步提交。
如果scram_iterations 设置为INT_MAX,则避免无限循环。
对逻辑复制进行了一些修复,包括处理逻辑解码仍需要的已删除行周围的 vacuum。
防止潜在的数据丢失,当不采取强锁的模式修改操作(DDL)影响正在逻辑复制的表时。
防止由于应用工作错误处理而在逻辑复制中出现的问题,导致重复数据被应用。
改进如何reindexdb 处理调度并行重新索引操作以实现预期的并行度。
此版本还更新了时区数据文件至tzdata 2025b版本,以反映智利的夏令时法律变更,以及伊朗的历史修正。此外,新增了一个智利Aysén地区的时区文件America/Coyhaique,以反映该地区全年使用UTC-03时区,这与America/Santiago不同。
更新中
所有 PostgreSQL 更新版本都是累积的。与其他小版本发布一样, 用户不需要导出和重新加载数据库或使用 pg_upgrade 来应用这个更新版本; 您可以简单地关闭 PostgreSQL 并更新其二进制文件。
如果您在分区表上创建了自引用外键,更新后,如果在约束创建之后创建或附加了分区,您应该删除并重新创建这些自引用外键。分区中可能会有违反此约束的行,在这种情况下,重新创建约束将失败,您需要在再次尝试之前更正这些行。
跳过了一个或多个更新版本的用户可能需要运行额外的更新后步骤;请参阅早期版本的发行说明以获取详细信息。
欲了解更多详情,请参阅 发行说明。
来源:发布于 2025-05-08 由 PostgreSQL 全球开发组,百度翻译结果