pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
文档版本对比
POSTGRESQL · VERSION COMPARE
本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。
从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。
收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。
本次发布的全部变更
2015-06-12
9.4.4 历史版本维护截止 2020-02-13
对于运行 9.4.X 的用户,不需要转储/恢复。
但是,如果你要升级的安装此前曾使用 9.3.0 到 9.3.4(含)之间的pg_upgrade版本升级过,请参见下面的第一条变更日志条目。
另外,如果你是从早于 9.4.2 的版本升级,请参见第 E.25 节。
变更
修复从不一致数据库状态恢复时可能失败的问题(Robert Haas)
最近的PostgreSQL发行版引入了防御多事务 ID 回卷的机制,但其中一些代码没有考虑到可能需要在崩溃恢复期间(数据库可能不处于一致状态时)运行。这可能导致崩溃后无法重启或无法启动辅助服务器。在曾使用 9.3.0 到 9.3.4 之间pg_upgrade版本的安装中,pg_upgrade一个已修复缺陷的残留影响也可能导致这种失败。
所涉及的pg_upgrade缺陷是:即使真实值应该更高,它也会把pg_control中的oldestMultiXid设为 1。有了本发行版引入的修复,这种情况将导致立即进行紧急自动清理,直到能够确定正确的oldestMultiXid值。如果这会造成困难,用户可以在升级到本发行版之前进行手工清理来避免。具体步骤如下:
检查pg_controldata报告的“Latest checkpoint's oldestMultiXid”是否为 1。如果不是,则无需任何操作。
查看PGDATA/pg_multixact/offsets中是否有名为0000的文件。如果有,则无需任何操作。
否则,对于 pg_class.relminmxid 等于 1 的每个表,将vacuum_multixact_freeze_min_age和vacuum_multixact_freeze_table_age都设为零后对该表执行 VACUUM。(可以使用第 18.4.4 节中描述的清理延迟代价参数来减小对并发会话的性能影响。)
变更
修复罕见的未能使关系缓存 init 文件失效的问题(Tom Lane)
在并发活动时序恰好不对的情况下,对系统目录执行VACUUM FULL可能无法更新用于避免新会话缓存加载工作的“init 文件”。这将导致后续会话完全无法访问该目录。这是一个非常古老的缺陷,但它极难触发,直到最近才出现可复现的案例。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免传入会话与CREATE/DROP DATABASE之间的死锁(Tom Lane)
在作为DROP DATABASE命令目标或CREATE DATABASE命令模板的数据库中启动的新会话,可能导致该命令等待五秒后失败,即使新会话本会在此之前退出。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
改进规划器对带内层索引扫描的半连接和反连接的代价估计(Tom Lane、Tomas Vondra)
当所有连接子句都被用作索引扫描条件时,这种计划相当廉价,即使内层扫描名义上会取回很多行,因为执行器在取得一行后就会停止。规划器只部分考虑了这一效应,因此会高估代价,从而可能选择其他效率低得多的计划类型。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
试试其他关键词,或。
对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。
条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。
同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。
CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。
交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。