pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
文档版本对比
POSTGRESQL · VERSION COMPARE
本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。
从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。
收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。
本次发布的全部变更
2019-06-20
9.6.14 历史版本维护截止 2021-11-11
对于运行 9.6.X 的用户,不需要转储/恢复。
不过,如果你是从 9.6.9 之前的版本升级,参见第 E.16 节。
变更
修复表带有部分排他约束时 ALTER TABLE ... ALTER COLUMN TYPE 的失败(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复对域约束的注释执行 COMMENT 命令的失败(Daniel Gustafsson、Michael Paquier)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 merge-append 计划的错误生成(Tom Lane)
这个错误可能导致 “could not find pathkey item to sort” 错误。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复带重复连接名的查询的错误打印(Philip Dubé)
这一疏漏导致包含此类查询的视图在转储/恢复时失败。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复正则表达式中 {1,1} 量词的错误优化(Tom Lane)
此类量词被当作无操作而被优化掉;但文档规定它们会给所附加的子表达式施加贪婪性,或者对于非贪婪变体 {1,1}? 施加非贪婪性,而这没有发生。只有当子表达式包含捕获圆括号或反向引用时才会出现错误行为。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免初始化新进程的 pg_stat_activity 数据时可能的失败(Tom Lane)
某些可能失败的操作(如把从 SSL 证书提取的字符串转换为数据库编码)在关键节内执行。那里的失败会因违反共享 pg_stat_activity 数据的访问协议而导致数据库范围的锁死。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复检查冲突 postmaster 是否仍在使用既有共享内存段的竞态条件(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免在未连接到特定数据库的进程中尝试为参数检查做数据库访问(Vignesh C、Andres Freund)
这个错误可能导致诸如 “cannot read pg_class without having selected a database” 之类的失败。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免使用 SSL 且 OpenSSL 未决数据缓冲区包含恰为 256 字节整数倍的数据时 libpq 可能的挂起(David Binderman)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
改进 initdb 对系统时区多个等价名称的处理(Tom Lane、Andrew Gierth)
让 initdb 检查 /etc/localtime 符号链接(如果存在),以在系统时区的等价名称之间打破平局。这使 initdb 在存在多个相同时区时更可能选择用户期望的时区名。如果 /etc/localtime 不是指向时区数据文件的符号链接,或者时区是由 TZ 环境变量确定的,则不会改变行为。
另外,当 TZ 和 /etc/localtime 都未提供提示时,优先选择 UTC 而不是该时区的其他拼法。这修复了 tzdata 2019a 把 UCT 和 UTC 时区名变为等价而引入的烦恼:initdb 随后偏爱 UCT,而几乎没人想要它。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 pg_dump 和 pg_dumpall 为数据库和表空间发出的 GRANT 命令的顺序(Nathan Bossart、Michael Paquier)
如果曾发出级联授予,恢复可能因 GRANT 命令的给出顺序不尊重其相互依赖而失败。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 reindexdb 的误导性错误报告(Julien Rouhaud)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
确保使用并行作业时发生错误 vacuumdb 返回正确的状态(Julien Rouhaud)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 contrib/auto_explain 在并行查询中不造成问题(Tom Lane)
此前,即使父查询没有被 auto_explain 记录,并行工作者也可能尝试记录它的查询。这有时能工作,但令人困惑,而且在某些情况下导致诸如 “could not find key N in shm TOC” 之类的失败。
此外,修复了一个差一错误,该错误导致即使采样率设为 1.0 也未必记录每条查询。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
在 contrib/postgres_fdw 中,考虑本地 BEFORE ROW UPDATE 触发器可能做的数据修改(Shohei Mochizuki)
如果触发器修改了 UPDATE 本不会更改的列,新值不会被传输到远程服务器。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
在 Windows 上,避免数据库编码设为 SQL_ASCII 而我们尝试记录非 ASCII 字符串时的失败(Noah Misch)
代码此前假定这种字符串必须是 UTF-8,如果它们看起来不是有效编码就会抛出错误。现在,只是把未翻译的字节传给日志。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
使 PL/pgSQL 的头文件对 C++ 安全(George Tarasov)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
试试其他关键词,或。
对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。
条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。
同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。
CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。
交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。