pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
文档版本对比
POSTGRESQL · VERSION COMPARE
本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。
从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。
收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。
本次发布的全部变更
2013-12-05
9.2.6 历史版本维护截止 2017-11-09
对于运行 9.2.X 的用户,不需要进行转储/恢复。
不过,本版本纠正了若干潜在的数据损坏问题。请参见下面前三条变更日志,以确认你的安装是否受影响以及可以采取什么措施。
不过,如果你是从早于 9.2.4 的版本升级,请参见第 E.21 节。
变更
修复 VACUUM 判断是否可以更新 relfrozenxid 的测试(Andres Freund)
某些情况下,VACUUM(手工或自动)可能错误地推进表的 relfrozenxid 值,使元组逃过冻结,导致这些行在经过 2^31 个事务后变得不可见。由于需要多次错误推进才会发生实际丢失,数据丢失的概率相当低,但并非为零。在 9.2.0 及更高版本中,丢失概率更高,而且这一缺陷还可能导致“could not access status of transaction”错误。从 9.0.4、8.4.8 或更早版本升级的用户不受影响,但之后的所有版本都包含该缺陷。
升级后,在把 vacuum_freeze_table_age 设为零的情况下对所有数据库中的所有表执行清理,可以缓解此问题。这会修复任何潜伏的损坏,但无法修复所有既有的数据错误。不过,如果安装在其生命周期内执行的事务少于 2^31 个更新(可用 SELECT txid_current() < 2^31 检查),则在执行此清理之后即可认为该安装是安全的。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复热备启动期间 pg_clog 和 pg_subtrans 的初始化(Andres Freund、Heikki Linnakangas)
这一缺陷会把已提交事务标记为未提交,从而在备库开始接受热备查询的那一刻造成数据丢失。除非备库启动时主库自上次检查点以来执行了大量更新事务,否则这种损坏的可能性很小。症状包括行缺失、本应删除的行仍可见,以及已更新行的过时版本与新版本同时可见。
该缺陷是在 9.3.0、9.2.5、9.1.10 和 9.0.14 版本中引入的。只运行过更早版本的备库没有风险。建议曾运行过任何含缺陷版本的备库在升级后从主库重新克隆(例如用新的基础备份)。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复快速路径锁定中的悬空指针问题(Tom Lane)
这可能导致共享内存中锁数据结构的损坏,造成“lock already held”和其他奇怪的错误。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
在 WAL 重放期间截断 pg_multixact 内容(Andres Freund)
这避免了备库中磁盘空间消耗不断增加。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
确保防回卷 VACUUM 在仅验证了没有元组需要冻结时也把该页计为已扫描(Sergey Burladyan、Jeff Janes)
这一缺陷可能导致 relfrozenxid 未能推进,使该表仍被认为需要再次防回卷清理。最坏情况下,数据库甚至可能为防止回卷而关闭。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 GIN 索引 posting 树页面删除中的竞态条件(Heikki Linnakangas)
这可能导致瞬时的错误结果或查询失败。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 SP-GiST 索引创建期间的“unexpected spgdoinsert() failure”错误(Teodor Sigaev)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免展平 SELECT 列表中包含包裹在子 SELECT 中的易变函数的子查询(Tom Lane)
这避免了因易变函数被额外求值而导致的意外结果。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复规划器对外连接中嵌套的非简单变量子查询输出的处理(Tom Lane)
这一错误可能为涉及 JOIN 语法中多级子查询的查询生成错误的计划。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复同一非严格表达式出现在多个 WHERE 和外连接 JOIN 等值子句中时的错误规划(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复对子查询的整行引用导致规划器崩溃的问题(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复继承树的优化 MIN()/MAX() 计划生成错误(Tom Lane)
当 MIN()/MAX() 的参数是表达式而不是简单变量时,规划器可能失败。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复临时文件被过早删除的问题(Andres Freund)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
防止打印范围值时的事务内内存泄漏(Tom Lane)
此修复实际上消除了任何数据类型输出函数中的瞬时内存泄漏,但已知只有范围类型曾出现显著问题。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
防止 NOT NULL 和 CHECK 约束违规消息中错误地显示已删除的列(Michael Paquier、Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
允许窗口函数使用默认参数和命名参数记法(Tom Lane)
此前这些情况很可能崩溃。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复规则打印中可能读取越过内存末尾的问题(Peter Eisentraut)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 int2vector 和 oidvector 值的数组切片(Tom Lane)
这类表达式现在会被隐式提升为常规的 int2 或 oid 数组。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复使用 SQL 标准的简单 GMT 偏移时区时的错误行为(Tom Lane)
某些情况下,系统会使用简单 GMT 偏移值,而本应使用选择简单偏移之前一直生效的常规时区设置。此变更还使 timeofday 函数遵循简单 GMT 偏移时区。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
防止记录 Windows 错误码翻译时可能出现的不当行为(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
正确地为 pg_ctl 生成的命令行加引号(Naoya Anzai、Tom Lane)
此修复仅适用于 Windows。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复当源数据库通过 ALTER DATABASE SET 设置 default_transaction_read_only 时 pg_dumpall 无法工作的问题(Kevin Grittner)
此前,生成的脚本在恢复期间会失败。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
让 ecpg 以大小写敏感方式搜索带引号的游标名(Zoltán Böszörményi)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 ecpg 对声明为 varchar 的变量列表的处理(Zoltán Böszörményi)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
让 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.
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
试试其他关键词,或。
对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。
条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。
同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。
CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。
交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。