pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
文档版本对比
POSTGRESQL · VERSION COMPARE
本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。
从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。
收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。
本次发布的全部变更
2017-11-09
9.4.15 历史版本维护截止 2020-02-13
| CVE / 问题 | 严重程度 | 修复版本 |
|---|---|---|
| CVE-2017-12172 修复示例服务器启动脚本在打开 $PGLOG 之前变成 $PGUSER | 8.4 | 9.4.15 |
| CVE-2017-15098 修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃 | 4.3 | 9.4.15 |
对于运行 9.4.X 的用户,不需要转储/恢复。
但是,如果你是从早于 9.4.13 的版本升级,请参见第 E.14 节。
变更
修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃(Michael Paquier、Tom Lane)
这些函数使用 FROM ... AS 子句中指定的结果行类型,而没有检查它与所提供元组值的实际行类型匹配。如果不匹配,通常会导致崩溃,尽管泄露服务器内存内容似乎也有可能。(CVE-2017-15098)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复示例服务器启动脚本在打开 $PGLOG 之前变成 $PGUSER(Noah Misch)
此前,postmaster 日志文件是在仍以 root 运行时打开的。因此数据库所有者可以通过让 $PGLOG 成为指向某个其他文件的符号链接来攻击另一个系统用户,该文件随后会因追加日志消息而被损坏。
默认情况下这些脚本不会安装到任何地方。使用了它们的用户需要手动重新复制,或对其修改版应用相同的更改。如果现有的 $PGLOG 文件为 root 所有,在用修正后的脚本重启服务器之前需要把它移开或重命名。(CVE-2017-12172)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复从使用 SPI 的函数(特别是任何用 PL 语言编写的函数)调用逻辑解码时崩溃的问题(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复json_build_array()、json_build_object()及其jsonb等价函数正确处理显式VARIADIC参数的问题(Michael Paquier)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
正确拒绝把无穷大浮点值转换为 numeric 类型的尝试(Tom Lane、KaiGai Kohei)
此前行为是与平台相关的。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复在视图末尾添加列后极端情况下崩溃的问题(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
在视图或规则包含 FieldSelect 或 FieldStore 表达式节点时记录正确的依赖(Tom Lane)
缺少这些依赖可能允许本应失败的列或数据类型 DROP 成功执行,从而导致之后使用该视图或规则时出错。此补丁不会保护现有视图/规则,只保护将来创建的。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
正确检测范围数据类型的可哈希性(Tom Lane)
规划器错误地假定任何范围类型都可以哈希用于哈希连接或哈希聚合,但实际上必须检查范围的子类型是否有哈希支持。这不影响任何内置范围类型,因为它们反正都是可哈希的。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复因 XID 回卷导致的低概率 NOTIFY 消息丢失(Marko Tiikkaja、Tom Lane)
如果一个会话在超过 20 亿个事务期间不执行查询而只是监听通知,它就开始遗漏来自并发提交事务的一些通知。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
避免 Linux 上 DSM 内存请求超出tmpfs可用空间时出现SIGBUS崩溃(Thomas Munro)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
防止嵌套触发器触发处理中低概率的崩溃(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
允许 COPY 的 FREEZE 选项在事务隔离级别为 REPEATABLE READ 或更高时工作(Noah Misch)
这种情况意外地被之前的 bug 修复破坏。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复COPY或lo_export()中文件创建失败时正确恢复 umask 设置的问题(Peter Eisentraut)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
为ANALYZE中的重复列名提供更好的错误消息(Nathan Bossart)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复对无换行结尾的pg_hba.conf文件最后一行的错误解析(Tom Lane)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复 libpq 不要求用户的主目录存在(Tom Lane)
在 v10 中,尝试读取 ~/.pgpass 时找不到主目录被当作硬错误,但它应该只是导致找不到该文件。v10 和以前的发布分支在读取 ~/.pg_service.conf 时犯了同样的错误,不过这不太明显,因为除非指定了服务名否则不寻找该文件。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复libpq对PGresult行数的整数溢出防护(Michael Paquier)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
修复ecpg对带指针或数组变量的超作用域游标声明的处理(Michael Meskes)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
ecpglib 中根据是否设置了standard_conforming_strings正确处理字符串字面量中的反斜线(Tsunakawa Takayuki)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
使 ecpglib 的 Informix 兼容模式按预期忽略整数输入字符串中的小数位(Gao Zengqi、Michael Meskes)
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
把我们的时区库副本与 IANA tzcode2017c 同步(Tom Lane)
这修复了若干问题;唯一可能对用户可见的是,当时区数据目录中没有 posixrules 文件时,POSIX 风格时区名的默认夏令时规则现在匹配当前美国法律而不是十几年前的。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
变更
将时区数据文件更新到tzdata发行版 2017c,以反映斐济、纳米比亚、北塞浦路斯、苏丹、汤加以及特克斯和凯科斯群岛的夏令时法规变更,以及阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史修正。
“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。
试试其他关键词,或。
对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。
条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。
同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。
CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。
交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。