文档版本比较
POSTGRESQL · VERSION COMPARE
PostgreSQL 9.3.13 发布变化
此版本的完整功能、修复与兼容性说明,以及其他版本的关联记录。
包括起始版本之后至目标版本的变化。大版本号表示该分支的首个版本。
从数据库输出识别起始版本
完整发布变化
9.3.13
2016-05-12
9.3.13stable支持截止 2018-11-08
PostgreSQL 9.3.13
迁移与兼容性
对于运行 9.3.X 的用户,不需要进行转储/恢复。
不过,如果你是从早于 9.3.9 的版本升级,请参见第 E.17 节。
改进在调用 OpenSSL 之前清空 OpenSSL 错误队列,而不是假设它已经为空;并确保调用之后也让它保持为空
变更
在调用 OpenSSL 之前清空 OpenSSL 错误队列,而不是假设它已经为空;并确保调用之后也让它保持为空(Peter Geoghegan、Dave Vitek、Peter Eisentraut)
此变更可防止在单个进程内存在多条使用 OpenSSL 的连接、且相关代码并非全部遵循相同的错误队列清空规则时出现问题。特别是当客户端应用并发使用 libpq 的 SSL 连接和 PHP、Python 或 Ruby 的 OpenSSL 封装库的 SSL 连接时,已有失败报告。如果扩展模块建立外向 SSL 连接,服务器内部也可能出现类似问题。
关联记录 (4)
- 相同变化PostgreSQL 9.5.3 · 在调用 OpenSSL 之前清空 OpenSSL 错误队列,而不是假设它已经为空;并确保调用之后也让它保持为空
- 相同变化PostgreSQL 9.4.8 · 在调用 OpenSSL 之前清空 OpenSSL 错误队列,而不是假设它已经为空;并确保调用之后也让它保持为空
- 相同变化PostgreSQL 9.2.17 · 在调用 OpenSSL 之前清空 OpenSSL 错误队列,而不是假设它已经为空;并确保调用之后也让它保持为空
- 相同变化PostgreSQL 9.1.22 · 在调用 OpenSSL 之前清空 OpenSSL 错误队列,而不是假设它已经为空;并确保调用之后也让它保持为空
问题修复修复左连接右侧包含全连接时规划器出现“failed to build any N-way joins”错误的问题
变更
修复左连接右侧包含全连接时规划器出现“failed to build any N-way joins”错误的问题(Tom Lane)
关联记录 (4)
- 相同变化PostgreSQL 9.5.3 · 修复左连接右侧包含全连接时规划器出现“failed to build any N-way joins”错误的问题
- 相同变化PostgreSQL 9.4.8 · 修复左连接右侧包含全连接时出现“failed to build any N-way joins”规划器错误的问题
- 相同变化PostgreSQL 9.2.17 · 修复左连接右侧包含全连接时规划器出现“failed to build any N-way joins”错误的问题
- 相同变化PostgreSQL 9.1.22 · 修复左连接右侧包含全连接时规划器出现“failed to build any N-way joins”错误的问题
问题修复修复多层级 nestloop 计划中等价类测试的处理不正确的问题
变更
修复多层级 nestloop 计划中等价类测试的处理不正确的问题(Tom Lane)
对于三个或更多变量的等价类(例如 X.X = Y.Y = Z.Z),规划器可能遗漏一些确保所有变量确实相等的测试,导致输出不满足 WHERE 子句的连接行。由于种种原因,实践中很少选中错误的计划,因此这个 bug 长期未被发现。
问题修复修复 to_timestamp() 中 TH、th 和 Y,YYY 格式代码可能的错误行为
变更
修复 to_timestamp() 中 TH、th 和 Y,YYY 格式代码可能的错误行为(Tom Lane)
这些代码可能越过输入字符串末尾,导致后续格式代码读取垃圾数据。
问题修复修复对这样的规则和视图的转储:value operator ANY (array) 结构的 array 参数是子 SELECT
变更
修复对这样的规则和视图的转储: 结构的 value operator ANY (array)array 参数是子 SELECT(Tom Lane)
关联记录 (4)
- 相同变化PostgreSQL 9.5.3 · 修复对这样的规则和视图的转储:value operator ANY (array) 结构的 array 参数是子 SELECT
- 相同变化PostgreSQL 9.4.8 · 修复value operator ANY (array)结构的array参数为子 SELECT 时规则和视图的转储
- 相同变化PostgreSQL 9.2.17 · 修复对这样的规则和视图的转储:value operator ANY (array) 结构的 array 参数是子 SELECT
- 相同变化PostgreSQL 9.1.22 · 修复对这样的规则和视图的转储:value operator ANY (array) 结构的 array 参数是子 SELECT
改进使 pg_regress 在设置了 PGCTLTIMEOUT 环境变量时使用其中的启动超时
变更
使 pg_regress 在设置了 PGCTLTIMEOUT 环境变量时使用其中的启动超时(Tom Lane)
这是为了与最近添加到 pg_ctl 的行为保持一致;它方便了在慢速机器上进行自动化测试。
问题修复修复 pg_upgrade 对仅包含一个操作符类的操作符族正确恢复扩展成员关系的问题
变更
修复 pg_upgrade 对仅包含一个操作符类的操作符族正确恢复扩展成员关系的问题(Tom Lane)
在这种情况下,操作符族会被恢复到新数据库中,但不再被标记为扩展的一部分。这没有直接的坏影响,但会导致后续 pg_dump 运行产生在恢复时引发(无害)错误的输出。
问题修复修复新集群 TOAST 规则与旧集群不同时 pg_upgrade 失败的问题
变更
修复新集群 TOAST 规则与旧集群不同时 pg_upgrade 失败的问题(Tom Lane)
pg_upgrade 原有专门代码处理新 PostgreSQL 版本认为表应有 TOAST 表而旧版本认为没有的情况。该代码有问题,因此将其移除,在这种情况下改为不做任何处理;没有理由认为,如果按照旧版本的规则没有 TOAST 表也没问题,我们就无法在没有 TOAST 表的情况下正常运作。
改进把 9.4 时代的内存屏障代码变更回移植到 9.2 和 9.3
变更
把 9.4 时代的内存屏障代码变更回移植到 9.2 和 9.3(Tom Lane)
这些变更在 9.4 之前的分支中原本并不需要,但我们最近回移植了一个要求屏障代码正常工作的修复。只有 IA64(使用 icc 时)、HPPA 和 Alpha 平台受影响。
改进减少配置了 --disable-spinlocks 的构建所使用的 SysV 信号量数量
变更
减少配置了 --disable-spinlocks 的构建所使用的 SysV 信号量数量(Tom Lane)
改进把内部函数 strtoi() 重命名为 strtoint(),以避免与 NetBSD 库函数冲突
变更
把内部函数 strtoi() 重命名为 strtoint(),以避免与 NetBSD 库函数冲突(Thomas Munro)
问题修复修复 Windows 上 bind() 和 listen() 系统调用错误的报告
变更
修复 Windows 上 bind() 和 listen() 系统调用错误的报告(Tom Lane)
改进减少使用 Microsoft Visual Studio 构建时编译器输出的冗长程度
变更
减少使用 Microsoft Visual Studio 构建时编译器输出的冗长程度(Christian Ullrich)
问题修复修复 putenv() 在 Visual Studio 2013 下的正确工作
变更
修复 putenv() 在 Visual Studio 2013 下的正确工作(Michael Paquier)
改进避免可能不安全地使用 Windows 的 FormatMessage() 函数
变更
避免可能不安全地使用 Windows 的 FormatMessage() 函数(Christian Ullrich)
在适当之处使用 FORMAT_MESSAGE_IGNORE_INSERTS 标志。目前不知道这里存在实际的 bug,但小心谨慎似乎是明智的。
改进把时区数据文件更新到 tzdata 2016d 版,涉及俄罗斯和委内瑞拉的夏令时法规变更。新增时区名称 Europe/Kirov 和 Asia/Tomsk,以反映这些地区现在与相邻地区有不同的时区历史。
变更
把时区数据文件更新到 tzdata 2016d 版,涉及俄罗斯和委内瑞拉的夏令时法规变更。新增时区名称 Europe/Kirov 和 Asia/Tomsk,以反映这些地区现在与相邻地区有不同的时区历史。
关联记录 (4)
- 相同变化PostgreSQL 9.5.3 · 把时区数据文件更新到 tzdata 2016d 版,涉及俄罗斯和委内瑞拉的夏令时法规变更。新增时区名称 Europe/Kirov 和 Asia/Tomsk,以反映这些地区现在与相邻地区有不同的时区历史。
- 相同变化PostgreSQL 9.4.8 · 将时区数据文件更新到tzdata发行版 2016d,以反映俄罗斯和委内瑞拉的夏令时法规变更。新增了时区名Europe/Kirov和Asia/Tomsk,以反映这些地区现在与邻近地区有不同的时区历史。
- 相同变化PostgreSQL 9.2.17 · 把时区数据文件更新到 tzdata 2016d 版,涉及俄罗斯和委内瑞拉的夏令时法规变更。新增时区名称 Europe/Kirov 和 Asia/Tomsk,以反映这些地区现在与相邻地区有不同的时区历史。
- 相同变化PostgreSQL 9.1.22 · 把时区数据文件更新到 tzdata 2016d 版,涉及俄罗斯和委内瑞拉的夏令时法规变更。新增时区名称 Europe/Kirov 和 Asia/Tomsk,以反映这些地区现在与相邻地区有不同的时区历史。
没有匹配的变化
尝试其他关键词,或 .
如何生成比较结果?
比较依据起始版本之后至目标版本的 PostgreSQL 发布说明。经核实的回补重复项会谨慎合并,保留每条原始说明;相关提交可能涉及独立变化,仍作为不同记录保留。
发布快照: 2026-09-26 · 安全快照: 2026-09-26
内容来自 PostgreSQL 发布说明。交互方式参考 pgversions.com 与 pgversionreport.