文档版本比较
POSTGRESQL · VERSION COMPARE
PostgreSQL 9.1.11 发布变化
此版本的完整功能、修复与兼容性说明,以及其他版本的关联记录。
包括起始版本之后至目标版本的变化。大版本号表示该分支的首个版本。
从数据库输出识别起始版本
完整发布变化
9.1.11
2013-12-05
9.1.11stable支持截止 2016-10-27
PostgreSQL 9.1.11
迁移与兼容性
对于运行 9.1.X 的用户,不需要进行转储/恢复。
不过,本版本纠正了若干潜在的数据损坏问题。请参见下面前三条变更日志,以确认你的安装是否受影响以及可以采取什么措施。
不过,如果你是从早于 9.1.9 的版本升级,请参见第 E.16 节。
问题修复修复 VACUUM 判断是否可以更新 relfrozenxid 的测试
变更
修复 VACUUM 判断是否可以更新 relfrozenxid 的测试(Andres Freund)
某些情况下,VACUUM(手工或自动)可能错误地推进表的 relfrozenxid 值,使元组逃过冻结,导致这些行在经过 2^31 个事务后变得不可见。由于需要多次错误推进才会发生实际丢失,数据丢失的概率相当低,但并非为零。从 9.0.4、8.4.8 或更早版本升级的用户不受影响,但之后的所有版本都包含该缺陷。
升级后,在把 vacuum_freeze_table_age 设为零的情况下对所有数据库中的所有表执行清理,可以缓解此问题。这会修复任何潜伏的损坏,但无法修复所有既有的数据错误。不过,如果安装在其生命周期内执行的事务少于 2^31 个更新(可用 SELECT txid_current() < 2^31 检查),则在执行此清理之后即可认为该安装是安全的。
问题修复修复热备启动期间 pg_clog 和 pg_subtrans 的初始化
变更
修复热备启动期间 pg_clog 和 pg_subtrans 的初始化(Andres Freund、Heikki Linnakangas)
这一缺陷会把已提交事务标记为未提交,从而在备库开始接受热备查询的那一刻造成数据丢失。除非备库启动时主库自上次检查点以来执行了大量更新事务,否则这种损坏的可能性很小。症状包括行缺失、本应删除的行仍可见,以及已更新行的过时版本与新版本同时可见。
该缺陷是在 9.3.0、9.2.5、9.1.10 和 9.0.14 版本中引入的。只运行过更早版本的备库没有风险。建议曾运行过任何含缺陷版本的备库在升级后从主库重新克隆(例如用新的基础备份)。
改进在 WAL 重放期间截断 pg_multixact 内容
变更
在 WAL 重放期间截断 pg_multixact 内容(Andres Freund)
这避免了备库中磁盘空间消耗不断增加。
问题修复修复 GIN 索引 posting 树页面删除中的竞态条件
变更
修复 GIN 索引 posting 树页面删除中的竞态条件(Heikki Linnakangas)
这可能导致瞬时的错误结果或查询失败。
改进避免展平 SELECT 列表中包含包裹在子 SELECT 中的易变函数的子查询
变更
避免展平 SELECT 列表中包含包裹在子 SELECT 中的易变函数的子查询(Tom Lane)
这避免了因易变函数被额外求值而导致的意外结果。
问题修复修复规划器对外连接中嵌套的非简单变量子查询输出的处理
变更
修复规划器对外连接中嵌套的非简单变量子查询输出的处理(Tom Lane)
这一错误可能为涉及 JOIN 语法中多级子查询的查询生成错误的计划。
问题修复修复继承树的优化 MIN()/MAX() 计划生成错误
变更
修复继承树的优化 MIN()/MAX() 计划生成错误(Tom Lane)
当 MIN()/MAX() 的参数是表达式而不是简单变量时,规划器可能失败。
问题修复修复临时文件被过早删除的问题
变更
修复临时文件被过早删除的问题(Andres Freund)
问题修复修复规则打印中可能读取越过内存末尾的问题
变更
修复规则打印中可能读取越过内存末尾的问题(Peter Eisentraut)
问题修复修复 int2vector 和 oidvector 值的数组切片
变更
修复 int2vector 和 oidvector 值的数组切片(Tom Lane)
这类表达式现在会被隐式提升为常规的 int2 或 oid 数组。
问题修复修复使用 SQL 标准的简单 GMT 偏移时区时的错误行为
变更
修复使用 SQL 标准的简单 GMT 偏移时区时的错误行为(Tom Lane)
某些情况下,系统会使用简单 GMT 偏移值,而本应使用选择简单偏移之前一直生效的常规时区设置。此变更还使 timeofday 函数遵循简单 GMT 偏移时区。
改进防止记录 Windows 错误码翻译时可能出现的不当行为
变更
防止记录 Windows 错误码翻译时可能出现的不当行为(Tom Lane)
改进正确地为 pg_ctl 生成的命令行加引号
变更
正确地为 pg_ctl 生成的命令行加引号(Naoya Anzai、Tom Lane)
此修复仅适用于 Windows。
问题修复修复当源数据库通过 ALTER DATABASE SET 设置 default_transaction_read_only 时 pg_dumpall 无法工作的问题
变更
修复当源数据库通过 ALTER DATABASE SET 设置 default_transaction_read_only 时 pg_dumpall 无法工作的问题(Kevin Grittner)
此前,生成的脚本在恢复期间会失败。
关联记录 (3)
- 相同变化PostgreSQL 9.3.2 · 修复当源数据库通过 ALTER DATABASE SET 设置 default_transaction_read_only 时 pg_dumpall 无法工作的问题
- 相同变化PostgreSQL 9.2.6 · 修复当源数据库通过 ALTER DATABASE SET 设置 default_transaction_read_only 时 pg_dumpall 无法工作的问题
- 相同变化PostgreSQL 9.0.15 · 修复当源数据库通过 ALTER DATABASE SET 设置 default_transaction_read_only 时 pg_dumpall 无法工作的问题
改进让 ecpg 以大小写敏感方式搜索带引号的游标名
变更
让 ecpg 以大小写敏感方式搜索带引号的游标名(Zoltán Böszörményi)
问题修复修复 ecpg 对声明为 varchar 的变量列表的处理
变更
修复 ecpg 对声明为 varchar 的变量列表的处理(Zoltán Böszörményi)
改进让 contrib/lo 防御不正确的触发器定义
变更
让 contrib/lo 防御不正确的触发器定义(Marc Cousin)
改进把时区数据文件更新为 tzdata 版本 2013h for DST law changes in Argentina, Brazil, Jordan, Libya, Liechtenstein, Morocco, and Palestine。Also, new timezone abbreviations WIB, WIT, WITA for Indonesia.
变更
把时区数据文件更新为 tzdata 版本 2013h for DST law changes in Argentina, Brazil, Jordan, Libya, Liechtenstein, Morocco, and Palestine。Also, new timezone abbreviations WIB, WIT, WITA for Indonesia.
关联记录 (3)
- 相同变化PostgreSQL 9.3.2 · 把时区数据文件更新为 tzdata 版本 2013h,以反映阿根廷、巴西、约旦、利比亚、列支敦士登、摩洛哥和巴勒斯坦的夏令时法规变更。另外,新增印度尼西亚的时区缩写 WIB、WIT、WITA。
- 相同变化PostgreSQL 9.2.6 · 把时区数据文件更新为 tzdata 版本 2013h for DST law changes in Argentina, Brazil, Jordan, Libya, Liechtenstein, Morocco, and Palestine。Also, new timezone abbreviations WIB, WIT, WITA for Indonesia.
- 相同变化PostgreSQL 9.0.15 · 把时区数据文件更新为 tzdata 版本 2013h for DST law changes in Argentina, Brazil, Jordan, Libya, Liechtenstein, Morocco, and Palestine。Also, new timezone abbreviations WIB, WIT, WITA for Indonesia.
没有匹配的变化
尝试其他关键词,或 .
如何生成比较结果?
比较依据起始版本之后至目标版本的 PostgreSQL 发布说明。经核实的回补重复项会谨慎合并,保留每条原始说明;相关提交可能涉及独立变化,仍作为不同记录保留。
发布快照: 2026-09-26 · 安全快照: 2026-09-26
内容来自 PostgreSQL 发布说明。交互方式参考 pgversions.com 与 pgversionreport.