↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

文档版本对比

POSTGRESQL · VERSION COMPARE

PostgreSQL 9.5.11 的版本变更

本次发布的完整功能、修复与兼容性说明,以及它们在其他版本中的关联记录。

查看该版本全部变更
查看该版本全部变更

从起始版本之后,看到目标版本为止。大版本名称代表该系列首个正式版本。

收录 PostgreSQL 9.0 起的 17 个大版本、352 份发布说明;数据更新于 2026-09-26。

本次发布的全部变更

9.5.11

2018-02-08

导出 JSON
32项变更功能、修复与改进
1次版本发布按发行版本归档
1个 CVE本版说明中提及的漏洞编号

9.5.11 历史版本维护截止 2021-02-11

本版提及的安全记录 1 个 CVE
本版发布说明提及的 CVE,可能包含已有漏洞的后续修复
CVE / 问题严重程度修复版本
CVE-2018-1053

确保 pg_upgrade 创建的所有临时文件对其他用户不可读

6.79.5.11

PostgreSQL 9.5.11

升级与兼容性说明

对于运行 9.5.X 的用户,不需要转储/恢复。

不过,如果你是从 9.5.10 之前的版本升级,参见第 E.16 节。

安全相关确保 pg_upgrade 创建的所有临时文件对其他用户不可读

变更

确保 pg_upgrade 创建的所有临时文件对其他用户不可读(Tom Lane、Noah Misch)

pg_upgrade 通常将其临时文件限制为只有调用用户可读写。但如果用户的 umask 设置允许,包含 pg_dumpall -g 输出的临时文件会是组可读或全局可读,甚至可写。在多用户机器的典型用法中,umask 和/或工作目录的权限会足够严格以防止问题;但可能有人在 pg_upgrade 的这一疏漏允许向不友好者泄露数据库密码的场景下使用它。(CVE-2018-1053)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复对在键共享锁定下被更新的元组的清理

变更

修复对在键共享锁定下被更新的元组的清理(Andres Freund、Álvaro Herrera)

某些情况下,VACUUM 即使这些元组现在已经死亡也不会移除它们,导致各种数据损坏场景。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复某些 LSN 获取中不充分的缓冲区锁定

变更

修复某些 LSN 获取中不充分的缓冲区锁定(Jacob Champion、Asim Praveen、Ashwin Agrawal)

这些错误可能导致并发负载下的行为异常。潜在后果尚未完全弄清。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复子查询输出用于 GROUPING SETS 时子查询展平相关情况的错误查询结果

变更

修复子查询输出用于 GROUPING SETS 时子查询展平相关情况的错误查询结果(Heikki Linnakangas)

关联记录(2)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进避免与 ALTER TABLE NO INHERIT 并发地从树中移除某个子表时对继承树的查询不必要的失败

变更

避免与 ALTER TABLE NO INHERIT 并发地从树中移除某个子表时对继承树的查询不必要的失败(Tom Lane)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复多个会话运行 CREATE INDEX CONCURRENTLY 时的虚假死锁失败

变更

修复多个会话运行 CREATE INDEX CONCURRENTLY 时的虚假死锁失败(Jeff Janes)

关联记录(3)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复继承树包含外部子表时的失败

变更

修复继承树包含外部子表时的失败(Etsuro Fujita)

继承树中普通表和外部表的混合导致为 UPDATE 和 DELETE 查询创建错误计划。这在某些情况下导致可见的失败,特别是当外部子表上有行级触发器时。

关联记录(2)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 LATERAL 子查询内 VALUES 内相关子 SELECT 的失败

变更

修复 LATERAL 子查询内 VALUES 内相关子 SELECT 的失败(Tom Lane)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复横向子查询内嵌套 UNION ALL 的某些情况下 “could not devise a query plan for the given query” 规划器失败

变更

修复横向子查询内嵌套 UNION ALL 的某些情况下 “could not devise a query plan for the given query” 规划器失败(Tom Lane)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复逻辑解码正确清理崩溃事务的磁盘文件

变更

修复逻辑解码正确清理崩溃事务的磁盘文件(Atsushi Torikoshi)

逻辑解码可能为生成许多 WAL 记录的事务把 WAL 记录溢出到磁盘。通常这些文件在事务的提交或中止记录到达后清理;但如果从未看到这样的记录,移除代码就会行为不当。

关联记录(3)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复处理大事务时的 walsender 超时失败和中断响应失败

变更

修复处理大事务时的 walsender 超时失败和中断响应失败(Petr Jelinek)

关联记录(3)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 has_sequence_privilege() 像其他权限测试函数一样支持 WITH GRANT OPTION 测试

变更

修复 has_sequence_privilege() 像其他权限测试函数一样支持 WITH GRANT OPTION 测试(Joe Conway)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进在使用 UTF8 编码的数据库中,忽略断言不同编码的 XML 声明

变更

在使用 UTF8 编码的数据库中,忽略断言不同编码的 XML 声明(Pavel Stehule、Noah Misch)

我们总是以数据库编码存储 XML 字符串,因此允许 libxml 对另一种编码的声明采取行动会给出错误结果。在 UTF8 之外的编码中,我们本来就不承诺支持非 ASCII XML 数据,因此为错误兼容保留以前的行为。这一更改只影响 xpath() 及相关函数;其他 XML 代码路径已经这样做了。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进为与未来次版本协议的前向兼容做准备

变更

为与未来次版本协议的前向兼容做准备(Robert Haas、Badrul Chowdhury)

到目前为止,PostgreSQL 服务器只是拒绝使用比 3.0 更新的协议版本的请求,因此协议版本号的主部分和次部分之间没有功能差别。允许客户端请求 3.x 版本而不失败,发回一条表明服务器只理解 3.0 的消息。这目前没有区别,但向后移植此更改应能更快引入未来的次协议升级。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进应对并行工作者进程启动失败

变更

应对并行工作者进程启动失败(Amit Kapila、Robert Haas)

此前如果工作者无法启动(因 fork() 失败或其他低概率问题),并行查询往往无限挂起。

关联记录(3)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进避免使用 __int128 时做出不安全的对齐假定

变更

避免使用 __int128 时做出不安全的对齐假定(Tom Lane)

通常编译器假定 __int128 变量按 16 字节边界对齐,但我们的内存分配基础设施不能保证这一点,而且出于多种原因增大 MAXALIGN 的设置似乎不可行。调整代码,只在能让编译器假定较低对齐时才允许使用 __int128。到目前为止此问题的唯一已知症状是某些并行聚合查询中的崩溃。

关联记录(2)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复防止规划极深层嵌套集合操作(UNION/INTERSECT/EXCEPT)时的栈溢出崩溃

变更

防止规划极深层嵌套集合操作(UNION/INTERSECT/EXCEPT)时的栈溢出崩溃(Tom Lane)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 pg_hba.conf 中出现的某些类型 LDAP URL 的空指针崩溃

变更

修复 pg_hba.conf 中出现的某些类型 LDAP URL 的空指针崩溃(Thomas Munro)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 PL/pgSQL 文档中的 INSTR() 示例函数

变更

修复 PL/pgSQL 文档中的 INSTR() 示例函数(Yugo Nagata、Tom Lane)

这些函数声称与 Oracle® 兼容,但并不完全如此。特别是对负第三参数的解释有分歧:Oracle 认为负值表示目标子串可以开始出现的最后一个位置,而我们的函数把它当作目标可以结束的最后一个位置。此外,Oracle 对零或负第四参数抛出错误,而我们的函数返回零。

示例代码已被调整以更精确地匹配 Oracle 的行为。把这段代码复制到其应用中的用户可能希望更新其副本。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 pg_dump 使 ACL(权限)、注释和安全标签条目在归档输出格式中可靠可识别

变更

修复 pg_dump 使 ACL(权限)、注释和安全标签条目在归档输出格式中可靠可识别(Tom Lane)

ACL 归档条目的“标记”部分通常只是相关对象的名称。使它以对象类型开头,使 ACL 与注释和安全标签归档条目已使用的约定一致。同时修复整个数据库的注释和安全标签条目(如果存在),使其标记以 DATABASE 开头,从而也遵循这一约定。这防止试图通过查看标记是否以 LARGE OBJECT 开头来识别大对象相关条目的代码发生假匹配。那可能导致条目被错误分类为数据而非模式,在仅模式或仅数据转储中产生不希望的结果。

注意,这一更改在 pg_restore --list 的输出中有用户可见的结果。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进重命名 pg_rewind 的 copy_file_range 函数,避免与该名称的新 Linux 系统调用冲突

变更

重命名 pg_rewind 的 copy_file_range 函数,避免与该名称的新 Linux 系统调用冲突(Andres Freund)

这一更改防止了更新 glibc 版本下的构建失败。

关联记录(2)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复在 ecpg 中,检测长度不正确的指示符数组并报错

变更

在 ecpg 中,检测长度不正确的指示符数组并报错(David Rader)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进避免 contrib/hstore 中因对相同源和目标指针使用 memcpy() 而触发 libc 断言

变更

避免 contrib/hstore 中因对相同源和目标指针使用 memcpy() 而触发 libc 断言(Tomas Vondra)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进提供在 macOS 上自动启动 Postgres 的现代示例

变更

提供在 macOS 上自动启动 Postgres 的现代示例(Tom Lane)

contrib/start-scripts/osx 中的脚本使用已被弃用十多年的基础设施,并且在过去几年的 macOS 版本中已完全不能工作。添加了包含使用较新 launchd 基础设施的脚本的新子目录 contrib/start-scripts/macos。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 Windows 上为 OpenSSL 错误选择配置特定的库

变更

修复 Windows 上为 OpenSSL 错误选择配置特定的库(Andrew Dunstan)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进支持链接到 MinGW 构建的 libperl 版本

变更

支持链接到 MinGW 构建的 libperl 版本(Noah Misch)

这允许用一些常见的 Windows Perl 发行版构建 PL/Perl。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复修复 MSVC 构建测试 32 位 libperl 是否需要 -D_USE_32BIT_TIME_T

变更

修复 MSVC 构建测试 32 位 libperl 是否需要 -D_USE_32BIT_TIME_T(Noah Misch)

可用的 Perl 发行版在这点上不一致,且没有报告它的可靠手段,因此求助于对所使用的库实际行为的构建时测试。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进在 Windows 上,在 postmaster 启动更早阶段安装崩溃转储处理器

变更

在 Windows 上,在 postmaster 启动更早阶段安装崩溃转储处理器(Takayuki Tsunakawa)

这可以允许为一些以前不产生转储的早期启动失败收集核心转储。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

BUG 修复在 Windows 上,避免 postmaster 启动极早期发出消息时与编码转换相关的崩溃

变更

在 Windows 上,避免 postmaster 启动极早期发出消息时与编码转换相关的崩溃(Takayuki Tsunakawa)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进把我们现有的 Motorola 68K 自旋锁代码也用于 OpenBSD 而不只是 NetBSD

变更

把我们现有的 Motorola 68K 自旋锁代码也用于 OpenBSD 而不只是 NetBSD(David Carlier)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进为 Motorola 88K 添加自旋锁支持

变更

为 Motorola 88K 添加自旋锁支持(David Carlier)

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

其他改进更新时区数据文件到 tzdata 版本 2018c,涉及巴西以及圣多美和普林西比的夏令时法规变更,加上玻利维亚、日本和南苏丹的历史修正。US/Pacific-New 时区已被移除(它本来只是 America/Los_Angeles 的别名)。

变更

更新时区数据文件到 tzdata 版本 2018c,涉及巴西以及圣多美和普林西比的夏令时法规变更,加上玻利维亚、日本和南苏丹的历史修正。US/Pacific-New 时区已被移除(它本来只是 America/Los_Angeles 的别名)。

关联记录(4)

“同一变更”有完整对应证据;“相关提交”可能包含多个独立事项、部分回补或后续调整,各版本说明分别保留。

这份对比如何生成?

对比以 PostgreSQL 发行说明为依据,汇总起始版本之后、目标版本及之前的变更,支持同一大版本内的小版本更新,以及跨大版本升级。跨大版本时,旧分支的维护记录只纳入到下一大版本首次发布之日,所有记录均不晚于目标版本的发布日期。大版本名称(如 18)指首个正式版本(18.0);测试版与开发快照会单独标注。

条目正文来自本站中文手册,版本清单、条目覆盖与提交依据逐一核对上游英文原文。每条变更保留完整说明与原文链接;分类用于辅助浏览,具体影响、适用条件与升级操作请阅读条目正文和各版本的升级说明。

同一修复可能回补到多个版本分支。对比会保守合并可确认相同的条目,并保留各分支完整说明;已知由起始版本包含的修复会排除。一条说明包含多个独立修复时,只有全部已包含才排除。大版本新功能不因与旧版补丁存在提交关联而合并,不能确认相同的条目继续保留。这是发行说明的累计差异,不能覆盖二进制程序之间的每一处代码变化。

CVE 独立依据 PostgreSQL 官方安全公告与漏洞记录计算:起始版本受影响、目标版本已修复或不受影响的漏洞才计入,按编号去重。目标版本仍受影响的漏洞另行提示;安全变更条数与 CVE 数量分别统计。

交互参考 pgversions.com 与 pgversionreport,内容来自 PostgreSQL 发行说明。更多历史资料见发行说明归档。