pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
文档版本对比
POSTGRESQL · VERSION COMPARE
本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。
从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。
收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。
本次发布的全部变更
2020-05-14
9.6.18 历史版本维护截止 2021-11-11
对于运行 9.6.X 的用户,不需要转储/恢复。
不过,如果你是从 9.6.16 之前的版本升级,参见第 E.9 节。
变更
保留被 ALTER TABLE 重写的索引的 indisclustered 设置(Amit Langote、Justin Pryzby)
此前,ALTER TABLE 会丢失哪个索引用于过 CLUSTER 的记录。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
保留被 ALTER TABLE 重写的索引的副本身份属性(Quan Zongliang、Peter Eisentraut)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
在 DROP OWNED BY 期间更早地锁定对象(Álvaro Herrera)
这避免了另一会话正在删除部分相同对象的竞态情况下的失败。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 CREATE ROLE ... IN ROLE 的错误情况处理(Andrew Gierth)
某些错误情况会被报告为 “unexpected node type” 之类,而不是预期的消息。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复全文搜索正确处理短语搜索之上的 NOT(Tom Lane)
诸如 !(foo<->bar) 之类的查询在作为 GiST 或 GIN 索引搜索实现时找不到匹配的行。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复短语搜索包含同时带前缀匹配和权重限制的项时的全文搜索(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 ts_headline() 在处理短语查询时做出更好的标题选择(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 gin_fuzzy_search_limit 处理中的 bug(Adé Heyward、Tom Lane)
gin_fuzzy_search_limit 的值较小时,可能因无意中多次重新扫描同一索引页而导致意外缓慢。另一条代码路径则完全没有应用预期的过滤,可能返回过多的值。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
允许 circle 类型的输入接受文档所述的 “(” 格式(David Zhang)x,y),r
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
让 get_bit() 和 set_bit() 函数应对长于 256MB 的 bytea 字符串(Movead Li)
由于位号参数只有 int4,不可能用这些函数访问长 bytea 前 256MB 之外的位。我们将在 v13 中把参数放宽为 int8,但在此之前,允许这些函数处理长 bytea 的初始子串。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免 pg_ls_dir()、pg_timezone_names()、pg_tablespace_databases() 及相关函数可能泄漏打开的目录文件描述符(Justin Pryzby)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复多态函数类型解析,使其在只给出 anyrange 输入时正确推断 anyarray 输出的实际类型(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免 REINDEX 被会话关闭信号终止时不太可能的崩溃(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
防止 EXPLAIN 打印可能不正确的哈希连接表统计信息(Konstantin Knizhnik、Tom Lane、Thomas Munro)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 VACUUM VERBOSE 中堆截断步骤所用时间的报告(Tatsuhito Kasahara)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免进程的 PS 状态中可能两次显示 “waiting”(Masahiko Sawada)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免崩溃恢复期间过早回收 WAL 段(Jehan-Guillaume de Rorthais)
崩溃恢复期间变为可归档的 WAL 段有可能在未被归档的情况下就被回收。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免归档恢复期间扫描无关时间线(Kyotaro Horiguchi)
这可以消除许多从归档存储获取不存在 WAL 文件的尝试,在归档访问缓慢时很有帮助。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
移除逻辑解码中虚假的 “subtransaction logged without previous top-level txn record” 错误检查(Arseny Sher、Amit Kapila)
这一条件在各种场景下都可以合法达到,因此移除该检查。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
确保复制槽的 io_in_progress_lock 在失败代码路径中被释放(Pavan Deolasee)
这可能导致 walsender 之后卡在等待该锁上。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复同步备库管理中的竞态条件(Tom Lane)
在 synchronous_standby_names 设置更改期间,存在一个时间窗口,可能对是否可以释放等待同步提交的事务做出错误决定。如果一个 walsender 进程退出并立即被另一个取代,也存在类似错误决定的风险。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
确保备库服务器上 nextXid 不会倒退(Eka Palamadai)
这一竞态条件可能使错误的热备反馈消息被发回主库,可能导致主库过早运行 VACUUM。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
为少数错误报告补上缺失的 SQLSTATE 值(Sawada Masahiko)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 PL/pgSQL,使其可靠地拒绝把事件触发器函数当作普通函数执行(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复使用 sslmode=verify-full 时 libpq 中的内存泄漏(Roman Peshkurov)
连接启动期间的证书验证可能泄漏一些内存。如果客户端进程在其生命周期内打开许多数据库连接,这就会成为问题。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 ecpg 在所有平台上都把仅为 “-” 的参数当作“从 stdin 读取”(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
为 pg_dump 添加 ALTER ... DEPENDS ON EXTENSION 支持(Álvaro Herrera)
pg_dump 此前忽略以这种方式添加的依赖,导致它们在转储/恢复或 pg_upgrade 期间被遗忘。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 pg_dump 转储 RLS 策略对象上的注释(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
在 pg_dump 中,把事件触发器的恢复推迟到最后(Fabrízio de Royes Mello、Hamid Akhtar、Tom Lane)
这能把事件触发器干扰其他对象恢复的风险降到最低。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 createdb 实用程序中 --encoding、--lc-ctype 和 --lc-collate 值的引号处理(Michael Paquier)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
contrib/lo 的 lo_manage() 函数在被直接调用而非作为触发器调用时崩溃(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
在 contrib/ltree 中,防止 ltree 和 lquery 长度字段溢出(Nikita Glukhov)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 contrib/sepgsql 中的缓存引用泄漏(Michael Luo)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免在 Windows 上处理 Unix 风格区域名时的失败(Juan José Santamaría Flecha)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
在 MSVC 构建中,处理 Python 路径名中的空格(Victor Wagner)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
在 MSVC 构建中,修复 Visual Studio 版本检测以适应更多语言设置(Andrew Dunstan)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
在 MSVC 构建中,对 3.0 之后的 bison 版本使用 -Wno-deprecated,与非 Windows 构建已经做的一样(Andrew Dunstan)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
更新时区数据文件到 tzdata 版本 2020a,涉及摩洛哥和加拿大育空的夏令时法规变更,以及上海的历史修正。
America/Godthab 时区已更名为 America/Nuuk 以反映当前英语用法;不过,旧名称仍作为兼容链接可用。
同时,更新 initdb 的已知 Windows 时区名列表以包含新近添加的名称,提高它在该平台上正确翻译系统时区设置的几率。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
试试其他关键词,或。
对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。
条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。
同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。
CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。
交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。