↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

文档版本比较

POSTGRESQL · VERSION COMPARE

PostgreSQL 9.5.3 发布变化

此版本的完整功能、修复与兼容性说明,以及其他版本的关联记录。

此版本的完整变化
此版本的完整变化

包括起始版本之后至目标版本的变化。大版本号表示该分支的首个版本。

完整发布变化

9.5.3

2016-05-12

导出 JSON ↓
25项变化功能、修复、改进
1个版本按版本分组
0CVE独立漏洞编号

9.5.3stable支持截止 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)
问题修复修复左连接右侧包含全连接时规划器出现“failed to build any N-way joins”错误的问题

变更

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

关联记录 (4)
问题修复修复多层级 nestloop 计划中等价类测试的处理不正确的问题

变更

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

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

关联记录 (3)
问题修复修复开启operator_precedence_warning时出现的边界解析失败

变更

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

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

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

变更

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

关联记录 (1)
问题修复修复 GIN 索引插入中的查询生命周期内存泄漏和潜在的索引损坏风险

变更

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

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

关联记录 (1)
问题修复修复 to_timestamp() 中 TH、th 和 Y,YYY 格式代码可能的错误行为

变更

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

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

关联记录 (4)
问题修复修复对这样的规则和视图的转储:value operator ANY (array) 结构的 array 参数是子 SELECT

变更

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

关联记录 (4)
改进禁止 ALTER SYSTEM 参数值中出现换行

变更

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

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

关联记录 (1)
问题修复修复选择 OID 上的索引时 ALTER TABLE ... REPLICA IDENTITY USING INDEX 无法正确工作的问题

变更

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

关联记录 (1)
改进避免移除表空间符号链接失败后可能的错误行为

变更

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

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

变更

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

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

关联记录 (1)
改进避免 walsender 关闭期间反复向接收器请求反馈

变更

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

关联记录 (1)
改进使 pg_regress 在设置了 PGCTLTIMEOUT 环境变量时使用其中的启动超时

变更

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

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

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

变更

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

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

关联记录 (4)
问题修复修复新集群 TOAST 规则与旧集群不同时 pg_upgrade 失败的问题

变更

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

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

关联记录 (2)
问题修复修复使用 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)
问题修复修复 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 版本上运行。

问题修复修复 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 发布说明。经核实的回补重复项会谨慎合并,保留每条原始说明;相关提交可能涉及独立变化,仍作为不同记录保留。

发布快照: 2026-09-26 · 安全快照: 2026-09-26

内容来自 PostgreSQL 发布说明。交互方式参考 pgversions.com 与 pgversionreport.