文档版本比较
POSTGRESQL · VERSION COMPARE
PostgreSQL 9.0.8 发布变化
此版本的完整功能、修复与兼容性说明,以及其他版本的关联记录。
包括起始版本之后至目标版本的变化。大版本号表示该分支的首个版本。
从数据库输出识别起始版本
完整发布变化
9.0.8
2012-06-04
9.0.8stable支持截止 2015-10-08
安全变化
| CVE / 问题 | 严重程度 | 修复版本 | 所选版本状态 |
|---|---|---|---|
| CVE-2012-2655 忽略过程语言调用处理程序的 SECURITY DEFINER 和 SET 属性 | 9.0.8 | 已记录修复 | |
| CVE-2012-2143 修复 contrib/pgcrypto 的 DES crypt() 函数中不正确的口令变换 | 9.0.8 | 已记录修复 |
PostgreSQL 9.0.8
迁移与兼容性
对于运行 9.0.X 的用户,不需要进行转储/恢复。
不过,如果你是从早于 9.0.6 的版本升级,请参见第 E.18 节。
安全修复 contrib/pgcrypto 的 DES crypt() 函数中不正确的口令变换
变更
修复 contrib/pgcrypto 的 DES crypt() 函数中不正确的口令变换(Solar Designer)
如果口令串包含字节值 0x80,口令的其余部分会被忽略,使口令比看起来弱得多。修复后,字符串的其余部分会被正确纳入 DES 哈希。因此,受此缺陷影响的任何已存储口令值将不再匹配,所以可能需要更新已存储的值。(CVE-2012-2143)
安全忽略过程语言调用处理程序的 SECURITY DEFINER 和 SET 属性
变更
忽略过程语言调用处理程序的 SECURITY DEFINER 和 SET 属性(Tom Lane)
把这类属性应用于调用处理程序可能导致服务器崩溃。(CVE-2012-2655)
改进允许 timestamp 输入中的数字时区偏移距 UTC 最多 16 小时
变更
允许 timestamp 输入中的数字时区偏移距 UTC 最多 16 小时(Tom Lane)
一些历史时区的偏移超过此前 15 小时的限制。这可能导致转储的数据值在重载期间被拒绝。
问题修复修复时间戳转换,使其在给定时间恰好是当前时区最后一次夏令时转换时间时能正确处理
变更
修复时间戳转换,使其在给定时间恰好是当前时区最后一次夏令时转换时间时能正确处理(Tom Lane)
这一疏忽已存在很长时间,但此前未被注意到,因为大多数使用夏令时的时区被假定有无限的未来夏令时转换序列。
问题修复修复 text 到 name 以及 char 到 name 的转换,使其在多字节编码下正确执行字符串截断
变更
修复 text 到 name 以及 char 到 name 的转换,使其在多字节编码下正确执行字符串截断(Karl Schnaitter)
问题修复修复 to_tsquery() 中的内存复制缺陷
变更
修复 to_tsquery() 中的内存复制缺陷(Heikki Linnakangas)
关联记录 (1)
问题修复确保 txid_current() 在热备中执行时报告正确的纪元(epoch)
变更
确保 txid_current() 在热备中执行时报告正确的纪元(epoch)(Simon Riggs)
问题修复修复规划器对子查询内外层 PlaceHolderVar 的处理
变更
修复规划器对子查询内外层 PlaceHolderVar 的处理(Tom Lane)
该缺陷涉及引用来自外层查询外连接可空侧变量的子 SELECT。在 9.1 中,受此缺陷影响的查询会报 “ERROR: Upper-level PlaceHolderVar found where not expected” 失败。但在 9.0 和 8.4 中,你会静默地得到可能错误的答案,因为传入子查询的值不会在该为空时变为空。
问题修复修复 pg_attribute 非常大会话启动缓慢的问题
变更
修复 pg_attribute 非常大会话启动缓慢的问题(Tom Lane)
如果 pg_attribute 超过 shared_buffers 的四分之一,会话启动期间有时需要的缓存重建代码就会触发同步扫描逻辑,使其耗时比正常情况多数倍。如果许多新会话同时启动,问题尤为严重。
关联记录 (1)
改进确保顺序扫描以合理的频率检查查询取消
变更
确保顺序扫描以合理的频率检查查询取消(Merlin Moncure)
遇到许多不含存活元组的连续页面的扫描在此期间不会响应中断。
关联记录 (1)
改进确保 PGSemaphoreLock() 的 Windows 实现在返回前清除 ImmediateInterruptOK
变更
确保 PGSemaphoreLock() 的 Windows 实现在返回前清除 ImmediateInterruptOK(Tom Lane)
这一疏忽意味着同一查询稍后收到的查询取消中断可能在不安全的时刻被接受,后果不可预测且不好。
改进在打印视图或规则时安全地显示整行变量
变更
在打印视图或规则时安全地显示整行变量(Abbas Butt、Tom Lane)
涉及有歧义名称(即该名称既可能是查询的表名也可能是列名)的极端情况此前以有歧义的方式打印,存在视图或规则在转储和重载后被不同解释的风险。现通过附加无操作转换来避免歧义情况。
关联记录 (1)
问题修复修复 COPY FROM,使其正确处理对应无效编码的空值标记串
变更
修复 COPY FROM,使其正确处理对应无效编码的空值标记串(Tom Lane)
诸如 E'\\0' 这样的空值标记串本应有效,过去也确实有效,但该情况在 8.4 中被破坏。
改进确保自动清理工作进程正确执行栈深度检查
变更
确保自动清理工作进程正确执行栈深度检查(Heikki Linnakangas)
此前,由自动 ANALYZE 调用的函数中的无限递归可能导致工作进程崩溃。
关联记录 (1)
问题修复修复日志收集器,使其在高负载下不丢失日志连贯性
变更
修复日志收集器,使其在高负载下不丢失日志连贯性(Andrew Dunstan)
此前,如果收集器过于忙碌,可能无法重新组装大消息。
关联记录 (1)
问题修复修复日志收集器,确保它在收到 SIGHUP 后会重新开始文件轮转
变更
修复日志收集器,确保它在收到 SIGHUP 后会重新开始文件轮转(Tom Lane)
问题修复修复 GIN 索引的 WAL 重放逻辑,使其在索引随后被删除时不失败
变更
修复 GIN 索引的 WAL 重放逻辑,使其在索引随后被删除时不失败(Tom Lane)
问题修复修复 PL/pgSQL 的 RETURN NEXT 命令中的内存泄漏
变更
修复 PL/pgSQL 的 RETURN NEXT 命令中的内存泄漏(Joe Conway)
问题修复修复 PL/pgSQL 的 GET DIAGNOSTICS 命令在目标是函数第一个变量时的问题
变更
修复 PL/pgSQL 的 GET DIAGNOSTICS 命令在目标是函数第一个变量时的问题(Tom Lane)
问题修复修复 psql 扩展显示(\x)模式中可能越过内存末尾的访问
变更
修复 psql 扩展显示(\x)模式中可能越过内存末尾的访问(Peter Eisentraut)
问题修复修复数据库包含大量对象时 pg_dump 的若干性能问题
变更
修复数据库包含大量对象时 pg_dump 的若干性能问题(Jeff Janes、Tom Lane)
如果数据库包含许多模式、许多对象处于依赖循环中、或有许多被拥有的序列,pg_dump 可能变得非常慢。
关联记录 (1)
问题修复修复 pg_upgrade 处理存储在非默认表空间的数据库包含集簇默认表空间中的表的情况
变更
修复 pg_upgrade 处理存储在非默认表空间的数据库包含集簇默认表空间中的表的情况(Bruce Momjian)
问题修复在 ecpg 中,修复罕见的内存泄漏以及 sqlca_t 结构之后一个字节可能被覆写的问题
变更
在 ecpg 中,修复罕见的内存泄漏以及 sqlca_t 结构之后一个字节可能被覆写的问题(Peter Eisentraut)
问题修复修复 contrib/dblink 的 dblink_exec(),使其在出错时不泄漏临时数据库连接
变更
修复 contrib/dblink 的 dblink_exec(),使其在出错时不泄漏临时数据库连接(Tom Lane)
问题修复修复 contrib/dblink,使其在错误消息中报告正确的连接名
变更
修复 contrib/dblink,使其在错误消息中报告正确的连接名(Kyotaro Horiguchi)
问题修复修复 contrib/vacuumlo,使其在删除许多大对象时使用多个事务
变更
修复 contrib/vacuumlo,使其在删除许多大对象时使用多个事务(Tim Lewis、Robert Haas、Tom Lane)
此变更避免了需要删除许多对象时超出 max_locks_per_transaction。该行为可以通过新的 -l(limit)选项调整。
改进把时区数据文件更新为 tzdata 版本 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada。
变更
把时区数据文件更新为 tzdata 版本 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada。
没有匹配的变化
尝试其他关键词,或 .
如何生成比较结果?
比较依据起始版本之后至目标版本的 PostgreSQL 发布说明。经核实的回补重复项会谨慎合并,保留每条原始说明;相关提交可能涉及独立变化,仍作为不同记录保留。
发布快照: 2026-09-26 · 安全快照: 2026-09-26
内容来自 PostgreSQL 发布说明。交互方式参考 pgversions.com 与 pgversionreport.