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

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

文档版本对比

POSTGRESQL · VERSION COMPARE

PostgreSQL 10.6 的版本变更

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

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

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

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

本次发布的全部变更

10.6

2018-11-08

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

10.6 历史版本维护截止 2022-11-10

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

确保 pg_dump 输出 CREATE TRIGGER ... REFERENCING 命令时,正确处理过渡表名称的引号

8.810.6

PostgreSQL 10.6

升级与兼容性说明

对于运行 10.X 的用户,不需要执行导出/恢复。

但是,如果使用了 pg_stat_statements 扩展,请参阅下方相关变更日志条目。

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

安全相关确保 pg_dump 输出 CREATE TRIGGER ... REFERENCING 命令时,正确处理过渡表名称的引号

变更

确保 pg_dump 输出 CREATE TRIGGER ... REFERENCING 命令时,正确处理过渡表名称的引号(Tom Lane)

无特权用户可以利用这一疏漏,在下一次转储/重载或运行 pg_upgrade 时取得超级用户权限。(CVE-2018-16850)

关联记录(1)

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

BUG 修复修复 has_foo_privilege() 系列函数在边界情况下的失败

变更

修复 has_foo_privilege() 系列函数在边界情况下的失败(Tom Lane)

提供无效的对象 OID 时,返回 NULL 而非抛出错误。其中一些函数以前已能正确处理,但并非全部如此。此外,has_column_privilege() 在某些平台上还可能崩溃。

关联记录(4)

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

BUG 修复修复 pg_get_partition_constraintdef(),使其在传入无效关系 OID 时返回 NULL 而非失败

变更

修复 pg_get_partition_constraintdef(),使其在传入无效关系 OID 时返回 NULL 而非失败(Tom Lane)

其他改进避免正则表达式匹配/分割函数在处理长字符串时出现 O(N^2) 性能下降

变更

避免正则表达式匹配/分割函数在处理长字符串时出现 O(N^2) 性能下降(Andrew Gierth)

关联记录(4)

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

BUG 修复修复对紧接着注释、+ 或 - 的标准多字符操作符的解析

变更

修复对紧接着注释、+ 或 - 的标准多字符操作符的解析(Andrew Gierth)

这一疏漏可能导致解析错误,或不正确地分配优先级。

关联记录(2)

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

其他改进避免词法分析器处理由 + 或 - 字符组成的长字符串时出现 O(N^3) 性能下降

变更

避免词法分析器处理由 + 或 - 字符组成的长字符串时出现 O(N^3) 性能下降(Andrew Gierth)

关联记录(4)

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

BUG 修复修复反向扫描外层查询时 SubPlan 执行不正确的问题

变更

修复反向扫描外层查询时 SubPlan 执行不正确的问题(Andrew Gierth)

关联记录(4)

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

BUG 修复修复将引用的游标回退后,UPDATE/DELETE ... WHERE CURRENT OF ... 发生的失败

变更

修复将引用的游标回退后,UPDATE/DELETE ... WHERE CURRENT OF ... 发生的失败(Tom Lane)

扫描多个关系(尤其是继承树)的游标,如果回退到先前的关系,可能产生错误行为。

关联记录(4)

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

BUG 修复修复 EvalPlanQual,使其正确处理有条件执行的 InitPlan

变更

修复 EvalPlanQual,使其正确处理有条件执行的 InitPlan(Andrew Gierth,Tom Lane)

如果并发更新包含诸如 CASE 结构内的非相关子 SELECT 这样的代码,此问题会导致难以复现的崩溃或错误结果。

关联记录(4)

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

其他改进禁止在附着于父表的触发器中创建该表的分区

变更

禁止在附着于父表的触发器中创建该表的分区(Amit Langote)

理想情况下应允许这样做,但目前必须禁止,以避免崩溃。

关联记录(1)

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

BUG 修复修复将 ON COMMIT DELETE ROWS 应用于分区临时表时出现的问题

变更

修复将 ON COMMIT DELETE ROWS 应用于分区临时表时出现的问题(Amit Langote)

关联记录(1)

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

BUG 修复修复字符类检查,使其在 Windows 上不会因高于 U+FFFF 的 Unicode 字符而失败

变更

修复字符类检查,使其在 Windows 上不会因高于 U+FFFF 的 Unicode 字符而失败(Tom Lane,Kenji Uno)

此缺陷影响全文检索操作,以及 contrib/ltree 和 contrib/pg_trgm。

关联记录(5)

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

其他改进禁止将包含窗口函数、LIMIT 或 OFFSET 的子 SELECT 下推到并行工作进程

变更

禁止将包含窗口函数、LIMIT 或 OFFSET 的子 SELECT 下推到并行工作进程(Amit Kapila)

此类情况下,行顺序变化造成的不确定性可能使不同工作进程获得不同结果,从而导致行为不一致。

关联记录(1)

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

其他改进确保对外部表执行 ALTER OWNER 时,也处理该表拥有的序列

变更

确保对外部表执行 ALTER OWNER 时,也处理该表拥有的序列(Peter Eisentraut)

所有权更改也应传播到这些序列,但以前遗漏了外部表的情况。

关联记录(4)

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

其他改进确保服务器在等待客户端输入之前,处理已收到的 NOTIFY 和 SIGTERM 中断

变更

确保服务器在等待客户端输入之前,处理已收到的 NOTIFY 和 SIGTERM 中断(Jeff Janes,Tom Lane)

关联记录(3)

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

BUG 修复修复为 array_out() 的结果字符串分配过多空间的问题

变更

修复为 array_out() 的结果字符串分配过多空间的问题(Keiichi Hirobe)

关联记录(4)

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

BUG 修复避免 XMLTABLE 中持续整个查询生命周期的内存泄漏

变更

避免 XMLTABLE 中持续整个查询生命周期的内存泄漏(Andrew Gierth)

BUG 修复修复重复扫描 SP-GiST 索引时的内存泄漏

变更

修复重复扫描 SP-GiST 索引时的内存泄漏(Tom Lane)

目前仅已知在使用 SP-GiST 的排除约束于单条命令中接收大量新索引条目时,这种泄漏才会达到显著程度。

关联记录(5)

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

其他改进确保 ApplyLogicalMappingFile() 使用完映射文件后将其关闭

变更

确保 ApplyLogicalMappingFile() 使用完映射文件后将其关闭(Tomas Vondra)

以前,文件描述符会泄漏,最终导致逻辑解码期间失败。

关联记录(3)

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

BUG 修复修复逻辑解码,使其能够处理映射目录表被反复重写的情况,例如通过 VACUUM FULL 重写

变更

修复逻辑解码,使其能够处理映射目录表被反复重写的情况,例如通过 VACUUM FULL 重写(Andres Freund)

关联记录(2)

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

其他改进如果 wal_level 设置过低,无法支持现有复制槽,则禁止启动服务器

变更

如果 wal_level 设置过低,无法支持现有复制槽,则禁止启动服务器(Andres Freund)

关联记录(4)

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

BUG 修复避免实用命令导致无限递归时发生崩溃

变更

避免实用命令导致无限递归时发生崩溃(Tom Lane)

关联记录(4)

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

其他改进初始化热备时,处理主库上的两阶段事务导致的重复 XID

变更

初始化热备时,处理主库上的两阶段事务导致的重复 XID(Michael Paquier,Konstantin Knizhnik)

关联记录(4)

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

BUG 修复修复事件触发器,使其能够处理嵌套的 ALTER TABLE 命令

变更

修复事件触发器,使其能够处理嵌套的 ALTER TABLE 命令(Michael Paquier,Álvaro Herrera)

关联记录(2)

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

其他改进将父进程的事务和语句开始时间戳传递给并行工作进程

变更

将父进程的事务和语句开始时间戳传递给并行工作进程(Konstantin Knizhnik)

这可防止 transaction_timestamp() 等函数在工作进程中执行时行为异常。

关联记录(2)

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

BUG 修复修复向并行工作进程传递展开的数据值时的处理,保持其对齐,防止在严格要求对齐的平台上崩溃

变更

修复向并行工作进程传递展开的数据值时的处理,保持其对齐,防止在严格要求对齐的平台上崩溃(Tom Lane,Amit Kapila)

关联记录(1)

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

BUG 修复修复 WAL 文件循环利用逻辑,使其在备库上正确工作

变更

修复 WAL 文件循环利用逻辑,使其在备库上正确工作(Michael Paquier)

取决于 archive_mode 的设置,备库可能未能移除某些本可移除的 WAL 文件。

关联记录(2)

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

BUG 修复修复恢复期间对提交时间戳跟踪的处理

变更

修复恢复期间对提交时间戳跟踪的处理(Masahiko Sawada,Michael Paquier)

如果提交时间戳跟踪被开启或关闭,恢复可能因尝试获取未记录提交时间戳的事务的时间戳而失败。

关联记录(2)

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

其他改进在自举和独立后端,以及 initdb 中随机化 random() 的种子

变更

在自举和独立后端,以及 initdb 中随机化 random() 的种子(Noah Misch)

此更改的主要实际效果,是避免始终使用同一个随机种子造成名称冲突,从而使 initdb 错误判断 POSIX 共享内存不可用的情况。

关联记录(4)

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

BUG 修复修复 DSA 逻辑中可能发生的共享内存损坏

变更

修复 DSA 逻辑中可能发生的共享内存损坏(Thomas Munro)

其他改进允许中断 DSM 分配

变更

允许中断 DSM 分配(Chris Travers)

关联记录(3)

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

其他改进避免在并行工作进程中加载初始化函数尝试访问系统缓存的扩展时发生失败

变更

避免在并行工作进程中加载初始化函数尝试访问系统缓存的扩展时发生失败(Thomas Munro)

我们不认为这是良好的扩展编码实践,但在并行查询出现之前,它大体上可以工作,因此目前继续支持。

关联记录(1)

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

其他改进正确处理动态开启 full_page_writes

变更

正确处理动态开启 full_page_writes(Kyotaro Horiguchi)

关联记录(2)

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

BUG 修复修复 SP-GiST 重新扫描期间重复调用 free() 可能导致的崩溃

变更

修复 SP-GiST 重新扫描期间重复调用 free() 可能导致的崩溃(Andrew Gierth)

关联记录(1)

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

其他改进防止在基于 ELF 的 BSD 平台以及 HP-UX 和 Solaris 上错误链接 src/port 和 src/common 函数

变更

防止在基于 ELF 的 BSD 平台以及 HP-UX 和 Solaris 上错误链接 src/port 和 src/common 函数(Andrew Gierth,Tom Lane)

加载到后端地址空间的共享库可能使用这些函数的后端版本,而非预期的库自身副本。由于两组函数的行为不完全相同,这会导致失败。

其他改进避免从 WAL 重放 GIN 页面重新压缩时可能发生的缓冲区越界

变更

避免从 WAL 重放 GIN 页面重新压缩时可能发生的缓冲区越界(Alexander Korotkov,Sivasubramanian Ramasubramanian)

关联记录(3)

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

其他改进避免 BLCKSZ 小于默认值时 hash 索引元页面越界

变更

避免 BLCKSZ 小于默认值时 hash 索引元页面越界(Dilip Kumar)

BUG 修复修复 hash 索引中遗漏的页面校验和更新

变更

修复 hash 索引中遗漏的页面校验和更新(Amit Kapila)

BUG 修复修复遗漏对复制槽目录执行 fsync 的问题

变更

修复遗漏对复制槽目录执行 fsync 的问题(Konstantin Knizhnik,Michael Paquier)

关联记录(3)

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

BUG 修复修复在较慢服务器上使用 wal_sender_timeout 时发生的意外超时

变更

修复在较慢服务器上使用 wal_sender_timeout 时发生的意外超时(Noah Misch)

关联记录(3)

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

BUG 修复确保热备进程使用正确的 WAL 一致性点

变更

确保热备进程使用正确的 WAL 一致性点(Alexander Kukushkin,Michael Paquier)

这可防止备库在 WAL 重放期间刚达到数据库一致状态后可能出现的错误行为。

关联记录(4)

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

其他改进确保 postmaster 在数据库启动完成之前收到 fast 关闭请求时,正确停止后台工作进程

变更

确保 postmaster 在数据库启动完成之前收到 fast 关闭请求时,正确停止后台工作进程(Alexander Kukushkin)

关联记录(2)

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

其他改进在 WAL 重放页面全可见/冻结标志变更时,更新空闲空间映射

变更

在 WAL 重放页面全可见/冻结标志变更时,更新空闲空间映射(Álvaro Herrera)

以前,我们对此不够谨慎,理由是 FSM 毕竟不是关键数据。但如果它过于陈旧,可能使备库提升为主库后性能显著下降。FSM 最终会通过更新得到修复,但我们希望它更早处于良好状态,因此现在会在 WAL 重放期间更认真地维护它。

关联记录(1)

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

其他改进避免到达查询末尾或元组数量限制时过早释放并行查询资源

变更

避免到达查询末尾或元组数量限制时过早释放并行查询资源(Amit Kapila)

只有调用者之后无法再要求反向扫描时,才可以在此时关闭执行器。

关联记录(1)

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

其他改进处理 SIGQUIT 时不运行 atexit 回调

变更

处理 SIGQUIT 时不运行 atexit 回调(Heikki Linnakangas)

关联记录(4)

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

其他改进不将外部服务器用户映射记录为扩展成员

变更

不将外部服务器用户映射记录为扩展成员(Tom Lane)

如果在扩展脚本中执行 CREATE USER MAPPING,以前会为用户映射创建扩展依赖关系,这不符合预期。角色不能成为扩展成员,因此用户映射也不应该成为扩展成员。

关联记录(4)

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

其他改进使 syslogger 更稳健地处理打开 CSV 日志文件失败的情况

变更

使 syslogger 更稳健地处理打开 CSV 日志文件失败的情况(Tom Lane)

关联记录(4)

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

其他改进向 libpq 提供多个目标主机名时,逐个进行 DNS 查找,而非一次全部查找

变更

向 libpq 提供多个目标主机名时,逐个进行 DNS 查找,而非一次全部查找(Tom Lane)

如果成功连接到列表中靠前的某台服务器,这可避免不必要的失败或连接缓慢。

BUG 修复修复 libpq 的连接超时处理,使超时正确地按每个主机名或 IP 地址分别应用

变更

修复 libpq 的连接超时处理,使超时正确地按每个主机名或 IP 地址分别应用(Tom Lane)

以前,某些代码路径在切换到新的目标主机时未重新启动计时器,可能导致过早超时。

BUG 修复修复 psql 以及文档示例,使其在每次调用 PQnotifies() 之前调用 PQconsumeInput()

变更

修复 psql 以及文档示例,使其在每次调用 PQnotifies() 之前调用 PQconsumeInput()(Tom Lane)

这修复了 psql 直到下一条命令之后才报告收到 NOTIFY 消息的情况。

关联记录(3)

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

BUG 修复修复 pg_dump 的 --no-publications 选项,使其也忽略发布表

变更

修复 pg_dump 的 --no-publications 选项,使其也忽略发布表(Gilles Darold)

其他改进在 pg_dump 中,当父表被排除在转储之外时,也排除其标识序列

变更

在 pg_dump 中,当父表被排除在转储之外时,也排除其标识序列(David Rowley)

BUG 修复修复 pg_dump 对不同对象名称进行排序时可能出现的不一致

变更

修复 pg_dump 对不同对象名称进行排序时可能出现的不一致(Jacob Champion)

关联记录(4)

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

其他改进确保 pg_restore 输出 DISABLE/ENABLE TRIGGER 命令时,为表名添加模式限定

变更

确保 pg_restore 输出 DISABLE/ENABLE TRIGGER 命令时,为表名添加模式限定(Tom Lane)

这避免了在受限搜索路径下运行恢复的新策略所导致的失败。

关联记录(4)

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

BUG 修复修复 pg_upgrade,使其正确处理扩展中的事件触发器

变更

修复 pg_upgrade,使其正确处理扩展中的事件触发器(Haribabu Kommi)

pg_upgrade 未能保留事件触发器的扩展成员身份。

关联记录(4)

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

BUG 修复修复 pg_upgrade 的集群状态检查,使其在备库上正确工作

变更

修复 pg_upgrade 的集群状态检查,使其在备库上正确工作(Bruce Momjian)

关联记录(4)

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

其他改进在所有 contrib/cube 函数中强制实施 cube 类型的维数限制

变更

在所有 contrib/cube 函数中强制实施 cube 类型的维数限制(Andrey Borodin)

以前,一些与 cube 相关的函数可以构造出会被 cube_in() 拒绝的值,从而导致转储/重载失败。

关联记录(4)

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

其他改进在 contrib/pg_stat_statements 中,禁止 pg_read_all_stats 角色执行 pg_stat_statements_reset()

变更

在 contrib/pg_stat_statements 中,禁止 pg_read_all_stats 角色执行 pg_stat_statements_reset()(Haribabu Kommi)

pg_read_all_stats 只应授予读取统计信息的权限,而非更改统计信息的权限,因此此前的授权不正确。

要使此更改生效,请在每个已安装 pg_stat_statements 的数据库中运行 ALTER EXTENSION pg_stat_statements UPDATE。

其他改进在 contrib/postgres_fdw 中,不尝试将不含变量的 ORDER BY 子句发送到远程服务器

变更

在 contrib/postgres_fdw 中,不尝试将不含变量的 ORDER BY 子句发送到远程服务器(Andrew Gierth)

关联记录(1)

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

BUG 修复修复 contrib/unaccent 的 unaccent() 函数,使其使用与函数位于同一模式中的 unaccent 文本检索词典

变更

修复 contrib/unaccent 的 unaccent() 函数,使其使用与函数位于同一模式中的 unaccent 文本检索词典(Tom Lane)

以前,它尝试通过搜索路径查找词典;如果搜索路径设置受限,就可能失败。

关联记录(4)

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

BUG 修复修复 macOS 10.14(Mojave)上的构建问题

变更

修复 macOS 10.14(Mojave)上的构建问题(Tom Lane)

调整 configure,向 CPPFLAGS 添加 -isysroot 开关;否则,PL/Perl 和 PL/Tcl 在 macOS 10.14 上无法配置或构建。可以在 configure 或 make 的参数中设置 PG_SYSROOT 变量,在配置时或构建时覆盖所用的具体 sysroot。

现在建议 Perl 相关扩展在编译器标志中写入 $(perl_includespec),而非 -I$(perl_archlibexp)/CORE。后者在大多数平台上仍然有效,但在近期 macOS 上无效。

此外,在近期 macOS 版本上构建 PL/Tcl 时,应不再需要手动指定 --with-tclconfig。

关联记录(5)

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

BUG 修复修复 MSVC 构建和回归测试脚本,使其适用于近期 Perl 版本

变更

修复 MSVC 构建和回归测试脚本,使其适用于近期 Perl 版本(Andrew Dunstan)

Perl 默认已不再将当前目录包含在搜索路径中,现在对此进行适配。

关联记录(5)

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

其他改进在 Windows 上,允许使用 Administrator 账户运行回归测试

变更

在 Windows 上,允许使用 Administrator 账户运行回归测试(Andrew Dunstan)

为安全地做到这一点,pg_regress 现在会在启动时放弃所有此类特权。

关联记录(3)

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

其他改进允许 B-树比较函数返回 INT_MIN

变更

允许 B-树比较函数返回 INT_MIN(Tom Lane)

此前,我们禁止特定数据类型的比较函数返回 INT_MIN,这样调用者只需将比较结果取负就能反转排序顺序。但对于直接返回 memcmp()、strcmp() 等函数结果的比较函数,这从来都不安全,因为 POSIX 并未对那些函数施加这种限制。至少某些近期版本的 memcmp() 可能返回 INT_MIN,导致排序顺序不正确。因此,我们移除了这一限制。调用者现在若想反转排序顺序,必须使用 INVERT_COMPARE_RESULT() 宏。

关联记录(4)

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

BUG 修复修复共享失效消息处理中的递归隐患

变更

修复共享失效消息处理中的递归隐患(Tom Lane)

例如,此错误可能导致无法访问刚经过 VACUUM FULL 处理的系统目录或索引。

此更改为 LockAcquire 添加了新的结果码,可能影响该函数的外部调用者,不过只有极不寻常的使用方式才会遇到问题。LockAcquireExtended 的 API 也发生了变更。

关联记录(4)

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

其他改进在 SPI_connect() 和 SPI_finish() 期间保存和恢复 SPI 的全局变量

变更

在 SPI_connect() 和 SPI_finish() 期间保存和恢复 SPI 的全局变量(Chapman Flack,Tom Lane)

这可防止一个使用 SPI 的函数调用另一个此类函数时发生干扰。

关联记录(4)

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

其他改进避免使用可能未充分对齐的页面缓冲区

变更

避免使用可能未充分对齐的页面缓冲区(Tom Lane)

引入新的联合类型 PGAlignedBlock 和 PGAlignedXLogBlock,用它们替代普通字符数组,确保编译器不会将缓冲区放在未对齐的起始地址上。这修复了严格要求对齐的平台上可能发生的核心转储,并可能提高允许未对齐访问的平台上的性能。

关联记录(4)

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

其他改进使 src/port/snprintf.c 遵循 C99 标准对 snprintf() 返回值的定义

变更

使 src/port/snprintf.c 遵循 C99 标准对 snprintf() 返回值的定义(Tom Lane)

在使用此代码的平台上(主要是 Windows),如果调用代码假定 C99 语义,它的 C99 之前版本的行为可能导致无法检测缓冲区越界。

关联记录(4)

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

其他改进在 i386 上使用 clang 编译器构建时,要求使用 -msse2

变更

在 i386 上使用 clang 编译器构建时,要求使用 -msse2(Andres Freund)

这避免了遗漏浮点溢出检查带来的问题。

关联记录(4)

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

BUG 修复修复 configure 对 strerror_r() 返回类型的检测

变更

修复 configure 对 strerror_r() 返回类型的检测(Tom Lane)

以前的代码在 Linux 上使用 icc 构建时(也可能在其他情况下)会得到错误结果,导致 libpq 无法为系统报告的错误返回有用的错误消息。

关联记录(4)

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

其他改进将时区数据文件更新到 tzdata 2018g 版,以反映智利、斐济、摩洛哥和俄罗斯(伏尔加格勒)的夏令时法规变更,并修正中国、夏威夷、日本、澳门和朝鲜的历史数据。

变更

将时区数据文件更新到 tzdata 2018g 版,以反映智利、斐济、摩洛哥和俄罗斯(伏尔加格勒)的夏令时法规变更,并修正中国、夏威夷、日本、澳门和朝鲜的历史数据。

关联记录(5)

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

这份对比如何生成?

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

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

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

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

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