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

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

文档版本比较

POSTGRESQL · VERSION COMPARE

PostgreSQL 9.0.23 发布变化

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

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

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

完整发布变化

9.0.23

2015-10-08

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

9.0.23stable支持截止 2015-10-08

安全变化
CVE / 问题严重程度修复版本所选版本状态
CVE-2015-5288

修复contrib/pgcrypto以检测并报告过短的crypt()盐值

9.0.23已记录修复

PostgreSQL 9.0.23

迁移与兼容性

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

不过,如果你是从早于 9.0.18 的版本升级,请参见第 E.6 节。

安全修复contrib/pgcrypto以检测并报告过短的crypt()盐值

变更

修复contrib/pgcrypto以检测并报告过短的crypt()盐值(Josh Kupershmidt)

某些无效的盐值参数会导致服务器崩溃或泄露少量服务器内存字节。我们尚未排除通过安排让泄露字节中出现机密信息实施攻击的可行性,但这种攻击似乎不太可能。(CVE-2015-5288)

关联记录 (4)
问题修复修复属于外部子事务的门户(游标)失败后的子事务清理问题

变更

修复属于外部子事务的门户(游标)失败后的子事务清理问题(Tom Lane、Michael Paquier)

在外部子事务游标中执行的函数可能因引用在内部子事务中创建的关系而导致断言失败或崩溃。

关联记录 (4)
问题修复修复关系插入关系缓存“init 文件”的问题

变更

修复关系插入关系缓存“init 文件”的问题(Tom Lane)

最近几个小版本中一个补丁的疏忽导致pg_trigger_tgrelid_tgname_index被遗漏在 init 文件之外。后续会话检测到这一点后认定 init 文件已损坏并静默忽略它,导致会话启动时间显著退化。除修复该缺陷外,还加入了一些防护,使未来任何类似错误更明显。

关联记录 (4)
改进避免向 SPI 查询结果插入大量元组时的 O(N^2) 行为

变更

避免向 SPI 查询结果插入大量元组时的 O(N^2) 行为(Neil Conway)

关联记录 (4)
改进改进存在大量未读通知时LISTEN的启动时间

变更

改进存在大量未读通知时LISTEN的启动时间(Matt Newell)

关联记录 (4)
改进默认禁用 SSL 重新协商

变更

默认禁用 SSL 重新协商(Michael Paquier、Andres Freund)

虽然使用 SSL 重新协商在理论上是个好主意,但实践中我们看到了太多缺陷,无论是底层 OpenSSL 库中还是我们对它的使用中。重新协商将在 9.5 及更高版本中完全移除。在较旧的分支中,只是把ssl_renegotiation_limit的默认值改为零(禁用)。

关联记录 (4)
改进降低*_freeze_max_age参数的最小值

变更

降低*_freeze_max_age参数的最小值(Andres Freund)

这主要是为了使相关行为的测试不那么耗时,但对磁盘空间有限的安装也可能有价值。

关联记录 (4)
问题修复将wal_buffers的最大值限制为 2GB 以避免服务器崩溃

变更

将wal_buffers的最大值限制为 2GB 以避免服务器崩溃(Josh Berkus)

关联记录 (4)
问题修复修复numeric值相乘时罕见的内部溢出

变更

修复numeric值相乘时罕见的内部溢出(Dean Rasheed)

关联记录 (4)
改进防御涉及记录类型、范围类型、json、jsonb、tsquery、ltxtquery和query_int的难以触发的栈溢出

变更

防御涉及记录类型、范围类型、json、jsonb、tsquery、ltxtquery和query_int的难以触发的栈溢出(Noah Misch)

关联记录 (4)
问题修复修复日期时间输入中DOW和DOY的处理

变更

修复日期时间输入中DOW和DOY的处理(Greg Stark)

这些记号本不应在日期时间值中使用,但过去它们导致的是难懂的内部错误消息,而不是“无效的输入语法”。

关联记录 (4)
改进在正则表达式匹配中增加更多查询取消检查

变更

在正则表达式匹配中增加更多查询取消检查(Tom Lane)

关联记录 (4)
改进为正则表达式、SIMILAR TO和LIKE匹配增加递归深度保护

变更

为正则表达式、SIMILAR TO和LIKE匹配增加递归深度保护(Tom Lane)

合适的搜索模式加上较低的栈深度限制可能导致栈越界崩溃。

关联记录 (4)
问题修复修复正则表达式执行中潜在的无限循环

变更

修复正则表达式执行中潜在的无限循环(Tom Lane)

一个表面上能匹配零长度字符串、但实际上因反向引用而不匹配的搜索模式可能导致无限循环。

关联记录 (4)
问题修复修复正则表达式编译中的内存不足失败

变更

修复正则表达式编译中的内存不足失败(Andreas Seltenreich)

关联记录 (4)
问题修复修复正则表达式执行期间低概率的内存泄漏

变更

修复正则表达式执行期间低概率的内存泄漏(Tom Lane)

关联记录 (4)
问题修复修复事务中止期间锁清理中罕见的内存不足失败

变更

修复事务中止期间锁清理中罕见的内存不足失败(Tom Lane)

关联记录 (4)
问题修复修复在使用较小work_mem设置的元组存储时出现“排序期间意外的内存不足情况”错误的问题

变更

修复在使用较小work_mem设置的元组存储时出现“排序期间意外的内存不足情况”错误的问题(Tom Lane)

关联记录 (4)
问题修复修复qsort中极低概率的栈越界

变更

修复qsort中极低概率的栈越界(Tom Lane)

关联记录 (4)
问题修复修复在使用较大work_mem设置的哈希连接中出现“无效的内存分配请求大小”失败的问题

变更

修复在使用较大work_mem设置的哈希连接中出现“无效的内存分配请求大小”失败的问题(Tomas Vondra, Tom Lane)

关联记录 (4)
问题修复修复若干规划器缺陷

变更

修复若干规划器缺陷(Tom Lane)

这些错误可能导致给出错误结果的错误查询计划、启用断言的构建中的断言失败,或奇怪的规划器错误,例如“could not devise a query plan for the given query”、“could not find pathkey item to sort”、“plan should not reference subplan's variable”或“failed to assign all NestLoopParams to plan nodes”。感谢 Andreas Seltenreich 和 Piotr Stefaniak 通过模糊测试暴露了这些问题。

关联记录 (4)
改进在所有受支持的分支中使用模糊路径代价平局判定规则

变更

在所有受支持的分支中使用模糊路径代价平局判定规则(Tom Lane)

此变更旨在避免当候选计划选项的估计代价实际相同时出现平台特定的行为。

关联记录 (1)
改进在 postmaster 关闭期间,确保在移除postmaster.pid文件之前移除各套接字的锁文件并关闭监听套接字

变更

在 postmaster 关闭期间,确保在移除postmaster.pid文件之前移除各套接字的锁文件并关闭监听套接字(Tom Lane)

这可以避免外部脚本在pg_ctl stop一返回就尝试启动新 postmaster 时出现竞争条件失败。

关联记录 (4)
问题修复修复 postmaster 对崩溃恢复期间启动进程崩溃的处理

变更

修复 postmaster 对崩溃恢复期间启动进程崩溃的处理(Tom Lane)

如果在崩溃恢复周期中,启动进程在尚未恢复数据库一致性时崩溃,我们会尝试启动一个新的启动进程,而这通常只会再次崩溃,导致无限循环。

关联记录 (4)
改进当我们尝试向某个自动清理工作进程发送信号而它已经消失时,不再打印WARNING,并降低此类信号的日志详细程度

变更

当我们尝试向某个自动清理工作进程发送信号而它已经消失时,不再打印WARNING,并降低此类信号的日志详细程度(Tom Lane)

关联记录 (4)
改进防止服务器时钟被大幅回拨时自动清理启动器睡眠时间过长

变更

防止服务器时钟被大幅回拨时自动清理启动器睡眠时间过长(Álvaro Herrera)

关联记录 (4)
改进确保 GIN 索引待插入列表的清理可被取消请求中断

变更

确保 GIN 索引待插入列表的清理可被取消请求中断(Jeff Janes)

关联记录 (4)
改进允许重用 GIN 索引中的全零页

变更

允许重用 GIN 索引中的全零页(Heikki Linnakangas)

崩溃之后可能遗留这样的页。

关联记录 (4)
问题修复修复一个差一错误,该错误会导致 subtrans/multixact 截断中出现本可避免的“表面回卷”警告

变更

修复一个差一错误,该错误会导致 subtrans/multixact 截断中出现本可避免的“表面回卷”警告(Thomas Munro)

关联记录 (4)
问题修复修复PL/pgSQL错误上下文消息中CONTINUE和MOVE语句类型误报的问题

变更

修复PL/pgSQL错误上下文消息中CONTINUE和MOVE语句类型误报的问题(Pavel Stehule, Tom Lane)

关联记录 (4)
问题修复修复PL/Tcl中一些未检查malloc()调用失败的位置

变更

修复PL/Tcl中一些未检查malloc()调用失败的位置(Michael Paquier, Álvaro Herrera)

关联记录 (4)
改进改进libpq对内存耗尽情况的处理

变更

改进libpq对内存耗尽情况的处理(Michael Paquier, Heikki Linnakangas)

关联记录 (4)
问题修复修复ecpg中的内存泄漏和缺失的内存不足检查

变更

修复ecpg中的内存泄漏和缺失的内存不足检查(Michael Paquier)

关联记录 (4)
问题修复修复 psql 中对数字输出的区域感知格式化代码

变更

修复 psql 中对数字输出的区域感知格式化代码(Tom Lane)

\pset numericlocale on 所调用的格式化代码在一些不常见的情况下会出错,例如带指数但没有小数点的数字。它还可能破坏 money 数据类型已经区域化的输出。

关联记录 (4)
问题修复防止在没有当前连接时psql的\c命令崩溃

变更

防止在没有当前连接时psql的\c命令崩溃(Noah Misch)

关联记录 (4)
改进确保pg_dump以tar格式输出运行期间创建的临时文件不被全局可读

变更

确保pg_dump以tar格式输出运行期间创建的临时文件不被全局可读(Michael Paquier)

关联记录 (4)
问题修复修复pg_dump和pg_upgrade以支持postgres或template1数据库位于非默认表空间的情况

变更

修复pg_dump和pg_upgrade以支持postgres或template1数据库位于非默认表空间的情况(Marti Raudsepp, Bruce Momjian)

关联记录 (4)
问题修复修复 pg_dump 从过于陈旧而没有特定权限类型的服务器转储时对对象权限的处理

变更

修复 pg_dump 从过于陈旧而没有特定权限类型的服务器转储时对对象权限的处理(Tom Lane)

从 7.3 之前的服务器转储函数或过程语言时,pg_dump 会生成撤销所有者可授予权限、转而把所有权限授予 PUBLIC 的 GRANT/REVOKE 命令。由于涉及的权限只是 USAGE 和 EXECUTE,这不构成安全问题,但这确实是对旧系统行为令人惊讶的表示。已修复为在这些情况下保持默认权限状态不变。

关联记录 (1)
问题修复修复pg_dump以转储 shell 类型

变更

修复pg_dump以转储 shell 类型(Tom Lane)

shell 类型(即尚未完全定义的类型)用处不大,但pg_dump仍应转储它们。

关联记录 (4)
问题修复修复 PPC 硬件的自旋锁汇编代码使其与AIX本机汇编器兼容

变更

修复 PPC 硬件的自旋锁汇编代码使其与AIX本机汇编器兼容(Tom Lane)

如果gcc被配置为使用本机汇编器(这正变得越来越普遍),则用gcc构建无法工作。

关联记录 (4)
改进在AIX上,测试-qlonglong编译器选项,而不是直接假定它可以安全使用

变更

在AIX上,测试-qlonglong编译器选项,而不是直接假定它可以安全使用(Noah Misch)

关联记录 (4)
改进在AIX上,使用-Wl,-brtllib链接选项以允许符号在运行时解析

变更

在AIX上,使用-Wl,-brtllib链接选项以允许符号在运行时解析(Noah Misch)

Perl 5.8.0 及更高版本依赖这一能力。

关联记录 (4)
改进由于编译器缺陷,在使用 32 位xlc编译时避免使用内联函数

变更

由于编译器缺陷,在使用 32 位xlc编译时避免使用内联函数(Noah Misch)

关联记录 (4)
改进必要时使用librt提供sched_yield(),某些 Solaris 版本即是如此

变更

必要时使用librt提供sched_yield(),某些 Solaris 版本即是如此(Oskari Saarenmaa)

关联记录 (4)
问题修复修复 Windowsinstall.bat脚本以处理包含空格的目标目录名

变更

修复 Windowsinstall.bat脚本以处理包含空格的目标目录名(Heikki Linnakangas)

关联记录 (4)
改进使PostgreSQL版本号的数字形式(例如90405)以名为VERSION_NUM的变量方便地提供给扩展 Makefile 使用

变更

使PostgreSQL版本号的数字形式(例如90405)以名为VERSION_NUM的变量方便地提供给扩展 Makefile 使用(Michael Paquier)

关联记录 (4)
改进将时区数据文件更新到tzdata发行版 2015g,以反映开曼群岛、斐济、摩尔多瓦、摩洛哥、诺福克岛、朝鲜、土耳其和乌拉圭的夏令时法规变更。为加拿大北落基山地区新增了时区名America/Fort_Nelson。

变更

将时区数据文件更新到tzdata发行版 2015g,以反映开曼群岛、斐济、摩尔多瓦、摩洛哥、诺福克岛、朝鲜、土耳其和乌拉圭的夏令时法规变更。为加拿大北落基山地区新增了时区名America/Fort_Nelson。

关联记录 (4)
如何生成比较结果?

比较依据起始版本之后至目标版本的 PostgreSQL 发布说明。经核实的回补重复项会谨慎合并,保留每条原始说明;相关提交可能涉及独立变化,仍作为不同记录保留。

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

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