↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档版本对比

POSTGRESQL · VERSION COMPARE

PostgreSQL 17.5 的版本变更

本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。

查看该版本全部变更
查看该版本全部变更

从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。

收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。

本次发布的全部变更

17.5

2025-05-08

导出 JSON
61项变更功能、修复与改进
1次版本发布按发行版本归档
1个 CVE本版说明中提及的漏洞编号

17.5 受支持版本维护截止 2029-11-08

本版提及的安全记录 1 个 CVE
本版发布说明提及的 CVE,可能包含已有漏洞的后续修复
CVE / 问题严重程度修复版本
CVE-2025-4207

避免在检查声称为 GB18030 编码的无效编码字符串时发生单字节缓冲区越界读取

5.917.5

PostgreSQL 17.5

升级与兼容性说明

对于运行 17.X 的用户,无需执行转储/恢复。

不过,如果你在分区表上有自引用外键约束,则可能需要重新创建这些约束,以确保它们得到正确实施。见下文第二条变更记录。

此外,如果你有任何 BRIN bloom 索引,建议在更新后对其重建索引。见下文第三条变更记录。

此外,如果你是从早于 17.1 的版本升级,请参见第 E.11 节。

安全相关避免在检查声称为 GB18030 编码的无效编码字符串时发生单字节缓冲区越界读取

变更

避免在检查声称为 GB18030 编码的无效编码字符串时发生单字节缓冲区越界读取(Noah Misch,Andres Freund)§ §

虽然可能性不大,但如果不完整的多字节字符出现在内存末尾,可能会导致 SIGSEGV 崩溃。这在服务器和使用 libpq 的应用程序中都可能发生。(CVE-2025-4207)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进正确处理分区表上的自引用外键

变更

正确处理分区表上的自引用外键(Álvaro Herrera)§

创建或附加分区时未能为外键约束创建所需的目录条目,如果该约束引用的表就是同一个分区表。这会导致该约束无法被完全执行。

要修复此问题,如果在约束创建之后曾创建或附加过分区,则应删除并重新创建分区表上的任何自引用外键。请注意,可能已经存在违反约束的行,在这种情况下重新创建约束会失败,你需要先修复这些行后再重试。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进避免在 brin_bloom_union() 中合并压缩的 BRIN 摘要时丢失数据

变更

避免在 brin_bloom_union() 中合并压缩的 BRIN 摘要时丢失数据(Tomas Vondra)§

该代码未能考虑到解压缩结果与输入对象不完全相同的情况,这会导致未能将部分数据添加到合并后的摘要中,从而在索引搜索中遗漏行。

这个错误从引入 BRIN bloom 索引的 v14 就存在了,但当时这个代码路径很少被触及。在 v17 中由于并行索引构建现在使用了该代码,因此更容易被触发。

关联记录(3)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复在 UPDATE、DELETE 和 MERGE 查询中使用对视图或函数的整行表引用(在 FROM 中)时出现的意外 “attribute has wrong type” 错误

变更

修复在 UPDATE、DELETE 和 MERGE 查询中使用对视图或函数的整行表引用(在 FROM 中)时出现的意外 “attribute has wrong type” 错误(Tom Lane)§

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复对带有 DO NOTHING 动作的分区表执行 MERGE 的问题

变更

修复对带有 DO NOTHING 动作的分区表执行 MERGE 的问题(Tender Wang)§

某些情况会出现 “unknown action in MERGE WHEN clause” 错误。

关联记录(2)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进防止当表具有域数据类型的 GENERATED 列且该域的约束不允许空值时 INSERT 命令失败的问题

变更

防止当表具有域数据类型的 GENERATED 列且该域的约束不允许空值时 INSERT 命令失败的问题(Jian He)§

即使生成表达式产生了完全正常的结果,仍会报告约束违反错误。

关联记录(3)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进正确处理出现在附加到 INSERT/UPDATE/DELETE/MERGE 命令(该命令本身在 WITH 内部)的 WITH 子句中对外部 CTE 名称的引用

变更

正确处理出现在附加到 INSERT/UPDATE/DELETE/MERGE 命令(该命令本身在 WITH 内部)的 WITH 子句中对外部 CTE 名称的引用(Tom Lane)§

解析器未能检测到不允许的递归情况,也未能在将 CTE 排列为可用顺序时考虑此类引用。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 JSON 构造表达式的键中类型转换被错误处理的问题

变更

修复 JSON 构造表达式的键中类型转换被错误处理的问题(Amit Langote)§

其他改进当参数为匿名记录类型时,不要尝试并行化 array_agg()

变更

当参数为匿名记录类型时,不要尝试并行化 array_agg()(Richard Guo,Tom Lane)§

与并行工作进程通信的协议不支持标识工作进程返回的具体记录类型。

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 ARRAY(subquery) 和 ARRAY[expression, ...] 构造,使其在输入类型为 int2vector 或 oidvector 时产生合理的结果

变更

修复 ARRAY(subquery) 和 ARRAY[expression, ...] 构造,使其在输入类型为 int2vector 或 oidvector 时产生合理的结果(Tom Lane)§

此补丁恢复了 PostgreSQL 9.5 之前的行为:结果类型为 int2vector[] 或 oidvector[]。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复解析 Ispell 字典时可能错误报告无效词缀的问题

变更

修复解析 Ispell 字典时可能错误报告无效词缀的问题(Jacob Brazeal)§

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 ALTER TABLE ADD COLUMN 以正确处理具有默认值的域类型的情况

变更

修复 ALTER TABLE ADD COLUMN 以正确处理具有默认值的域类型的情况(Jian He,Tom Lane,Tender Wang)§ §

如果域类型具有默认值,在不带显式 DEFAULT 子句的情况下添加该类型的列,未能在现有行中安装域的默认值,而是将新列保留为空值。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复外键约束的 ON DELETE SET DEFAULT 或 SET NULL 动作中存在重复列名时的异常行为

变更

修复外键约束的 ON DELETE SET DEFAULT 或 SET NULL 动作中存在重复列名时的异常行为(Tom Lane)§

关联记录(2)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进改进对不允许的外键约束属性修改尝试的错误消息

变更

改进对不允许的外键约束属性修改尝试的错误消息(Álvaro Herrera)§

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进避免在重置标记为 ON COMMIT DELETE ROWS 的临时表的 relhassubclass 标志时出错

变更

避免在重置标记为 ON COMMIT DELETE ROWS 的临时表的 relhassubclass 标志时出错(Noah Misch)§

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进增加对 XMLSERIALIZE() 的 INDENT 选项的缺失反解析支持

变更

增加对 XMLSERIALIZE() 的 INDENT 选项的缺失反解析支持(Jim Jones)§ §

此前,使用 XMLSERIALIZE(... INDENT) 的视图或规则在导出时不包含 INDENT 子句,导致恢复后结果不正确。

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进避免对同时具有 FILTER 和 ORDER BY(或 DISTINCT)选项的聚合函数的参数进行过早求值

变更

避免对同时具有 FILTER 和 ORDER BY(或 DISTINCT)选项的聚合函数的参数进行过早求值(David Rowley)§

如果存在 ORDER BY 或 DISTINCT,我们会考虑对聚合输入值进行预排序,而不是在 Agg 计划节点内部排序。但如果聚合输入包含可能失败的表达式(例如,某些输入除数可能为零的除法运算),且存在用于防止此类失败的 FILTER 子句,这就会有问题。预排序会将表达式求值推到 FILTER 测试之前,使得失败仍然会发生。现在通过在存在 FILTER 且输入表达式比简单的 Var 或 Const 更复杂时不进行预排序来避免此问题。

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复在存在外连接时,依据列 NOT NULL 约束得出错误推论的问题

变更

修复在存在外连接时,依据列 NOT NULL 约束得出错误推论的问题(Richard Guo)§

在某些情况下,规划器会丢弃 IS NOT NULL 查询条件,即使该条件是在外连接之后生效,因此并非冗余。

其他改进避免基于应用于复合值的 IS [NOT] NULL 测试进行不正确的优化

变更

避免基于应用于复合值的 IS [NOT] NULL 测试进行不正确的优化(Bruce Momjian)§

BUG 修复修复规划器在顶层表达式中无法识别多个可进行 hash 运算的 ScalarArrayOpExpr 子表达式的问题

变更

修复规划器在顶层表达式中无法识别多个可进行 hash 运算的 ScalarArrayOpExpr 子表达式的问题(David Geier)§

这导致了本可以用 hash 表处理的额外子表达式(即右侧全为常量的 IN、NOT IN 或 = ANY 子句)执行效率不必要地低下。

关联记录(3)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复低填充因子时表大小估算不正确的问题

变更

修复低填充因子时表大小估算不正确的问题(Tomas Vondra)§

当规划器估算一个尚未分析过的表的行数时,会把该表的 fillfactor 设置计入估算,但此前未将结果限制为每页至少一行。因此,低填充因子可能导致不合理地偏小的估算结果。

其他改进禁用位图堆扫描中的“跳过获取”优化

变更

禁用位图堆扫描中的“跳过获取”优化(Matthias van de Meent)§

事实证明,当并发 vacuum 将页面标记为全部可见时,此优化可能会返回死元组。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复存在大量搜索键时 GIN 索引搜索启动的性能问题

变更

修复存在大量搜索键时 GIN 索引搜索启动的性能问题(Tom Lane,Vinod Sridharan)§ §

具有大量键的可索引子句(例如,jsonbcol ?| array[...] 包含数万个数组元素)启动时需要 O(N2) 的时间,并且在此期间也无法被取消。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进检测 BRIN 索引操作符类中缺失的支持函数,并报告错误而不是崩溃

变更

检测 BRIN 索引操作符类中缺失的支持函数,并报告错误而不是崩溃(Álvaro Herrera)§

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进在等待 Append 计划节点的异步子计划时响应中断(如查询取消)

变更

在等待 Append 计划节点的异步子计划时响应中断(如查询取消)(Heikki Linnakangas)§

之前,在某个子计划就绪之前不会发生任何事情。

关联记录(3)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进更频繁地报告活跃 WAL 发送进程的 I/O 统计信息

变更

更频繁地报告活跃 WAL 发送进程的 I/O 统计信息(Bertrand Drouvot)§

此前,pg_stat_io 视图未能累积 WAL 发送进程执行的 I/O,直到该进程退出。现在此类 I/O 将在最多一秒的延迟后被报告。

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复启动后立即处理 synchronous_standby_names 时的竞态条件

变更

修复启动后立即处理 synchronous_standby_names 时的竞态条件(Melnikov Maksim,Michael Paquier)§

在系统启动后的短暂时间内,即使 synchronous_standby_names 已启用,后端可能也不会等待同步提交。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进处理同一查询期间 io_combine_limit 可能发生变化的情况

变更

处理同一查询期间 io_combine_limit 可能发生变化的情况(Thomas Munro)§

其他改进避免当 scram_iterations 设置为 INT_MAX 时的无限循环

变更

避免当 scram_iterations 设置为 INT_MAX 时的无限循环(Kevin K Biju)§

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复避免由于 json_array() 的子查询被双重转换而可能导致的崩溃

变更

避免由于 json_array() 的子查询被双重转换而可能导致的崩溃(Tom Lane)§

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 pg_strtof() 在空 endptr 时崩溃的问题

变更

修复 pg_strtof() 在空 endptr 时崩溃的问题(Alexander Lakhin,Tom Lane)§

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复在某些 GUC 赋值中内存不足后的崩溃问题

变更

修复在某些 GUC 赋值中内存不足后的崩溃问题(Daniel Gustafsson)§

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复避免在 Snowball 词干提取器遇到内存不足条件时崩溃

变更

避免在 Snowball 词干提取器遇到内存不足条件时崩溃(Maksim Korotkov)§

关联记录(5)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复规划期间过度释放 SpecialJoinInfo 结构体的问题

变更

修复规划期间过度释放 SpecialJoinInfo 结构体的问题(Richard Guo)§

如果启用了分区连接,这会在规划期间导致崩溃。

其他改进禁止复制已失效的复制槽

变更

禁止复制已失效的复制槽(Shlok Kyal)§

这可以防止当失效的槽指向已被删除的 WAL 时出现问题。

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进禁止在非热备模式的备库上恢复逻辑复制槽

变更

禁止在非热备模式的备库上恢复逻辑复制槽(Masahiko Sawada)§

这可以防止在 wal_level 过低的情况下,槽在提升后仍然保持有效的场景。

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进防止在逻辑解码的“快进”模式中过度推进 catalog xmin

变更

防止在逻辑解码的“快进”模式中过度推进 catalog xmin(Zhijie Hou)§

这个错误可能导致已删除的目录条目被清理掉,即使 WAL 读取进程仍可能需要它们。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进避免在不需要强锁的 DDL 操作影响正在进行逻辑复制的表时丢失数据

变更

避免在不需要强锁的 DDL 操作影响正在进行逻辑复制的表时丢失数据(Shlok Kyal,Hayato Kuroda)§ §

DDL 命令导致的目录变更未被反映到 WAL 解码进程中,使其可能使用过期的目录数据解码后续变更,很可能导致数据损坏。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进防止当应用工作进程遇到错误但该错误被捕获且未导致工作进程退出时,复制来源被错误重置的问题

变更

防止当应用工作进程遇到错误但该错误被捕获且未导致工作进程退出时,复制来源被错误重置的问题(Hayato Kuroda)§

此错误可能导致重复数据被应用。

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复逻辑复制中订阅端分区表具有 BRIN 索引时的崩溃问题

变更

修复逻辑复制中订阅端分区表具有 BRIN 索引时的崩溃问题(Tom Lane)§

其他改进避免在逻辑复制索引查找中重复创建快照

变更

避免在逻辑复制索引查找中重复创建快照(Heikki Linnakangas)§ §

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进改进对混合来源订阅的检测

变更

改进对混合来源订阅的检测(Hou Zhijie,Shlok Kyal)§

在创建订阅时,如果被订阅的表同时通过其他发布被关注,会发出警告,因为这可能导致接收重复数据。此变更改进了该逻辑,使其也能检测到通过另一个发布关注的是分区父表或子表的情况。

关联记录(1)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复关于不正确恢复时间线选择的错误消息中的检查点详情错误

变更

修复关于不正确恢复时间线选择的错误消息中的检查点详情错误(David Steele)§

如果请求的恢复时间线不可达,报告的检查点和时间线应该是从 backup_label 中读取的值(如果有的话)。之前此消息报告的是控制文件中的值,这在没有 backup_label 从控制文件恢复时是正确的,但在有 backup_label 时则不正确。

关联记录(2)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 smgropen() 中的操作顺序

变更

修复 smgropen() 中的操作顺序(Andres Freund)§

确保在调用 smgr_open 回调之前,SMgrRelation 对象已经完成初始化,这样一旦回调失败,就能正确清理。

其他改进移除 pgstat_report_stat() 中不正确的断言

变更

移除 pgstat_report_stat() 中不正确的断言(Michael Paquier)§

关联记录(2)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 gistFindCorrectParent() 中过于严格的断言

变更

修复 gistFindCorrectParent() 中过于严格的断言(Heikki Linnakangas)§

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进避免在 maintenance_work_mem 值非常小时,并行 vacuum 中发生断言失败

变更

避免在 maintenance_work_mem 值非常小时,并行 vacuum 中发生断言失败(Masahiko Sawada)§

BUG 修复修复当主库重启时备库中罕见的断言失败

变更

修复当主库重启时备库中罕见的断言失败(Heikki Linnakangas)§

关联记录(3)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进在 PL/pgSQL 中,避免当可滚动游标定义在简单 SELECT expression 查询上时出现 “unexpected plan node type” 错误

变更

在 PL/pgSQL 中,避免当可滚动游标定义在简单 SELECT expression 查询上时出现 “unexpected plan node type” 错误(Andrei Lepikhov)§

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进在 pg_dump 的 --clean 模式中不再尝试删除单个索引分区

变更

在 pg_dump 的 --clean 模式中不再尝试删除单个索引分区(Jian He)§

服务器会拒绝这样的 DROP 命令。这实际上没有什么影响,因为这些分区在后续对其父表或分区索引执行 DROP 时会被自动删除。但是,尝试删除时报告的错误会在以 --single-transaction 模式恢复时造成问题。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进在 pg_dumpall 中,避免在 pg_auth_members 包含无效角色 OID 时生成无效的角色 GRANT 命令

变更

在 pg_dumpall 中,避免在 pg_auth_members 包含无效角色 OID 时生成无效的角色 GRANT 命令(Tom Lane)§

改为打印警告并跳过该条目。这能更好地处理在后端分支中因 GRANT 和 DROP ROLE 之间的竞态条件而导致的目录损坏。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复在 pg_amcheck 和 pg_upgrade 中,使用正确的函数释放由 libpq 分配的内存

变更

在 pg_amcheck 和 pg_upgrade 中,使用正确的函数释放由 libpq 分配的内存(Michael Paquier,Ranier Vilela)§ § §

这些疏忽可能导致在某些 Windows 构建配置下崩溃,例如调试版本的 libpq 被非调试版本的调用程序使用时。

关联记录(3)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 reindexdb 对并行重建索引操作的调度

变更

修复 reindexdb 对并行重建索引操作的调度(Alexander Korotkov)§

原先的代码未能达到预期的并行度。

BUG 修复避免在 contrib/pageinspect 的 heap_page_items() 中因损坏的输入数据而崩溃

变更

避免在 contrib/pageinspect 的 heap_page_items() 中因损坏的输入数据而崩溃(Dmitry Kovalenko)§

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进防止 contrib/pg_freespacemap 的 pg_freespacemap() 中的断言失败

变更

防止 contrib/pg_freespacemap 的 pg_freespacemap() 中的断言失败(Tender Wang)§

对没有存储的关系(如视图)应用 pg_freespacemap() 会导致断言失败,尽管在非断言构建中没有不良影响。增加了错误检查以拒绝这种情况。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进在 contrib/postgres_fdw 中,避免从子查询中上拉限制条件

变更

在 contrib/postgres_fdw 中,避免从子查询中上拉限制条件(Alexander Pyhalov)§

此修复可防止罕见的 “unexpected expression in subquery output” 错误。

BUG 修复修复系统 include 目录中存在旧版 libpq_fe.h 时的构建失败

变更

修复系统 include 目录中存在旧版 libpq_fe.h 时的构建失败(Tom Lane)§

BUG 修复修复在 macOS 15.4 上的构建失败

变更

修复在 macOS 15.4 上的构建失败(Tom Lane,Peter Eisentraut)§

此 macOS 更新破坏了我们对 strchrnul() 的配置探测。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复读流按缓冲区数据的 valgrind 标记

变更

修复读流按缓冲区数据的 valgrind 标记(Thomas Munro)§

这不会影响已发布版本的 PostgreSQL 核心代码,但使用该按缓冲区数据特性的扩展在 valgrind 下测试时,可能会遇到伪失败。

其他改进避免 valgrind 对字符串 hash 代码发出告警

变更

避免 valgrind 对字符串 hash 代码发出告警(John Naylor)§

其他改进更新时区数据文件至 tzdata 2025b 版本,包含智利的夏令时法律变更以及伊朗的历史修正

变更

更新时区数据文件至 tzdata 2025b 版本,包含智利的夏令时法律变更以及伊朗的历史修正(Tom Lane)§

新增时区 America/Coyhaique 用于智利的 Aysén 大区,以反映其改为全年使用 UTC-03,从而与 America/Santiago 产生差异。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

这份对比如何生成?

对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。

条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。

同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。

CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。

交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。