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

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

文档版本对比

POSTGRESQL · VERSION COMPARE

PostgreSQL 9.5.3 的版本变更

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

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

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

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

本次发布的全部变更

9.5.3

2016-05-12

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

9.5.3 历史版本维护截止 2021-02-11

PostgreSQL 9.5.3

升级与兼容性说明

对于运行 9.5.X 的用户,不需要转储/恢复。

不过,如果你是从 9.5.2 之前的版本升级,参见第 E.24 节。

其他改进在调用 OpenSSL 之前清空 OpenSSL 错误队列,而不是假设它已经为空;并确保调用之后也让它保持为空

变更

在调用 OpenSSL 之前清空 OpenSSL 错误队列,而不是假设它已经为空;并确保调用之后也让它保持为空(Peter Geoghegan、Dave Vitek、Peter Eisentraut)

此变更可防止在单个进程内存在多条使用 OpenSSL 的连接、且相关代码并非全部遵循相同的错误队列清空规则时出现问题。特别是当客户端应用并发使用 libpq 的 SSL 连接和 PHP、Python 或 Ruby 的 OpenSSL 封装库的 SSL 连接时,已有失败报告。如果扩展模块建立外向 SSL 连接,服务器内部也可能出现类似问题。

关联记录(4)

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

BUG 修复修复左连接右侧包含全连接时规划器出现“failed to build any N-way joins”错误的问题

变更

修复左连接右侧包含全连接时规划器出现“failed to build any N-way joins”错误的问题(Tom Lane)

关联记录(4)

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

BUG 修复修复多层级 nestloop 计划中等价类测试的处理不正确的问题

变更

修复多层级 nestloop 计划中等价类测试的处理不正确的问题(Tom Lane)

对于三个或更多变量的等价类(例如 X.X = Y.Y = Z.Z),规划器可能遗漏一些确保所有变量确实相等的测试,导致输出不满足 WHERE 子句的连接行。由于种种原因,实践中很少选中错误的计划,因此这个 bug 长期未被发现。

关联记录(3)

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

BUG 修复修复开启operator_precedence_warning时出现的边界解析失败

变更

修复开启operator_precedence_warning时出现的边界解析失败(Tom Lane)

例如,SELECT (ARRAY[])::text[] 会报错,尽管不带括号时可以工作。

BUG 修复修复 GIN 索引扫描中的查询生命周期内存泄漏

变更

修复 GIN 索引扫描中的查询生命周期内存泄漏(Julien Rouhaud)

关联记录(1)

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

BUG 修复修复 GIN 索引插入中的查询生命周期内存泄漏和潜在的索引损坏风险

变更

修复 GIN 索引插入中的查询生命周期内存泄漏和潜在的索引损坏风险(Tom Lane)

在简单查询中,内存泄漏通常不会很大,但在以高 maintenance_work_mem 构建大型 GIN 索引期间,泄漏可能非常可观。

关联记录(1)

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

BUG 修复修复 to_timestamp() 中 TH、th 和 Y,YYY 格式代码可能的错误行为

变更

修复 to_timestamp() 中 TH、th 和 Y,YYY 格式代码可能的错误行为(Tom Lane)

这些代码可能越过输入字符串末尾,导致后续格式代码读取垃圾数据。

关联记录(4)

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

BUG 修复修复对这样的规则和视图的转储:value operator ANY (array) 结构的 array 参数是子 SELECT

变更

修复对这样的规则和视图的转储:value operator ANY (array) 结构的 array 参数是子 SELECT(Tom Lane)

关联记录(4)

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

其他改进禁止 ALTER SYSTEM 参数值中出现换行

变更

禁止 ALTER SYSTEM 参数值中出现换行(Tom Lane)

配置文件解析器不支持字符串字面量中的内嵌换行,因此我们不能允许 ALTER SYSTEM 插入的值中包含换行。

关联记录(1)

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

BUG 修复修复选择 OID 上的索引时 ALTER TABLE ... REPLICA IDENTITY USING INDEX 无法正确工作的问题

变更

修复选择 OID 上的索引时 ALTER TABLE ... REPLICA IDENTITY USING INDEX 无法正确工作的问题(David Rowley)

关联记录(1)

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

其他改进避免移除表空间符号链接失败后可能的错误行为

变更

避免移除表空间符号链接失败后可能的错误行为(Tom Lane)

BUG 修复修复对齐敏感平台上逻辑解码崩溃的问题

变更

修复对齐敏感平台上逻辑解码崩溃的问题(Tom Lane、Andres Freund)

该失败仅发生在事务大到需要溢出到磁盘、且该事务内发生主键更改的情况。

关联记录(1)

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

其他改进避免 walsender 关闭期间反复向接收器请求反馈

变更

避免 walsender 关闭期间反复向接收器请求反馈(Nick Cleaton)

关联记录(1)

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

其他改进使 pg_regress 在设置了 PGCTLTIMEOUT 环境变量时使用其中的启动超时

变更

使 pg_regress 在设置了 PGCTLTIMEOUT 环境变量时使用其中的启动超时(Tom Lane)

这是为了与最近添加到 pg_ctl 的行为保持一致;它方便了在慢速机器上进行自动化测试。

关联记录(4)

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

BUG 修复修复 pg_upgrade 对仅包含一个操作符类的操作符族正确恢复扩展成员关系的问题

变更

修复 pg_upgrade 对仅包含一个操作符类的操作符族正确恢复扩展成员关系的问题(Tom Lane)

在这种情况下,操作符族会被恢复到新数据库中,但不再被标记为扩展的一部分。这没有直接的坏影响,但会导致后续 pg_dump 运行产生在恢复时引发(无害)错误的输出。

关联记录(4)

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

BUG 修复修复新集群 TOAST 规则与旧集群不同时 pg_upgrade 失败的问题

变更

修复新集群 TOAST 规则与旧集群不同时 pg_upgrade 失败的问题(Tom Lane)

pg_upgrade 原有专门代码处理新 PostgreSQL 版本认为表应有 TOAST 表而旧版本认为没有的情况。该代码有问题,因此将其移除,在这种情况下改为不做任何处理;没有理由认为,如果按照旧版本的规则没有 TOAST 表也没问题,我们就无法在没有 TOAST 表的情况下正常运作。

关联记录(2)

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

BUG 修复修复使用 IBM XLC 编译器时 PPC 上的原子操作

变更

修复使用 IBM XLC 编译器时 PPC 上的原子操作(Noah Misch)

其他改进减少配置了 --disable-spinlocks 的构建所使用的 SysV 信号量数量

变更

减少配置了 --disable-spinlocks 的构建所使用的 SysV 信号量数量(Tom Lane)

关联记录(3)

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

其他改进把内部函数 strtoi() 重命名为 strtoint(),以避免与 NetBSD 库函数冲突

变更

把内部函数 strtoi() 重命名为 strtoint(),以避免与 NetBSD 库函数冲突(Thomas Munro)

关联记录(4)

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

BUG 修复修复 Windows 上 bind() 和 listen() 系统调用错误的报告

变更

修复 Windows 上 bind() 和 listen() 系统调用错误的报告(Tom Lane)

关联记录(4)

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

其他改进减少使用 Microsoft Visual Studio 构建时编译器输出的冗长程度

变更

减少使用 Microsoft Visual Studio 构建时编译器输出的冗长程度(Christian Ullrich)

关联记录(4)

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

其他改进支持使用 Visual Studio 2015 构建

变更

支持使用 Visual Studio 2015 构建(Michael Paquier、Petr Jelínek)

注意,使用 VS2015 构建的版本不能在早于 Windows Vista 的 Windows 版本上运行。

BUG 修复修复 putenv() 在 Visual Studio 2013 下的正确工作

变更

修复 putenv() 在 Visual Studio 2013 下的正确工作(Michael Paquier)

关联记录(2)

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

其他改进避免可能不安全地使用 Windows 的 FormatMessage() 函数

变更

避免可能不安全地使用 Windows 的 FormatMessage() 函数(Christian Ullrich)

在适当之处使用 FORMAT_MESSAGE_IGNORE_INSERTS 标志。目前不知道这里存在实际的 bug,但小心谨慎似乎是明智的。

关联记录(4)

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

其他改进把时区数据文件更新到 tzdata 2016d 版,涉及俄罗斯和委内瑞拉的夏令时法规变更。新增时区名称 Europe/Kirov 和 Asia/Tomsk,以反映这些地区现在与相邻地区有不同的时区历史。

变更

把时区数据文件更新到 tzdata 2016d 版,涉及俄罗斯和委内瑞拉的夏令时法规变更。新增时区名称 Europe/Kirov 和 Asia/Tomsk,以反映这些地区现在与相邻地区有不同的时区历史。

关联记录(4)

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

这份对比如何生成?

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

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

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

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

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