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

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

文档版本对比

POSTGRESQL · VERSION COMPARE

PostgreSQL 9.1.7 的版本变更

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

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

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

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

本次发布的全部变更

9.1.7

2012-12-06

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

9.1.7 历史版本维护截止 2016-10-27

PostgreSQL 9.1.7

升级与兼容性说明

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

不过,如果你是从早于 9.1.6 的版本升级,请参见第 E.19 节。

BUG 修复修复与 CREATE INDEX CONCURRENTLY 相关的多个缺陷

变更

修复与 CREATE INDEX CONCURRENTLY 相关的多个缺陷(Andres Freund、Tom Lane)

修复 CREATE INDEX CONCURRENTLY,使其在更改索引 pg_index 行的状态时使用就地更新。这防止了可能导致并发会话错过更新目标索引(从而产生损坏的并发创建索引)的竞态条件。

另外,修复各种其他操作,确保它们忽略由失败的 CREATE INDEX CONCURRENTLY 命令产生的无效索引。其中最重要的是 VACUUM,因为在采取纠正措施修复或删除无效索引之前,很容易就有自动清理在该表上启动。

关联记录(1)

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

BUG 修复修复 WAL 重放期间的缓冲区锁定

变更

修复 WAL 重放期间的缓冲区锁定(Tom Lane)

WAL 重放代码在重放影响多个页面的 WAL 记录时,对缓冲区加锁不够谨慎。这可能导致热备查询瞬时看到不一致的状态,造成错误结果或意外失败。

关联记录(2)

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

BUG 修复修复 GIN 索引 WAL 生成逻辑中的一个错误

变更

修复 GIN 索引 WAL 生成逻辑中的一个错误(Tom Lane)

如果发生残缺页故障,这可能导致索引损坏。

关联记录(2)

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

其他改进把热备服务器提升为正常运行时,正确移除启动进程的虚拟 XID 锁

变更

把热备服务器提升为正常运行时,正确移除启动进程的虚拟 XID 锁(Simon Riggs)

这一疏忽可能阻止后续执行某些操作,例如 CREATE INDEX CONCURRENTLY。

关联记录(2)

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

其他改进避免备库模式下虚假的 “out-of-sequence timeline ID” 错误

变更

避免备库模式下虚假的 “out-of-sequence timeline ID” 错误(Heikki Linnakangas)

关联记录(2)

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

其他改进防止 postmaster 在收到关闭信号后继续启动新的子进程

变更

防止 postmaster 在收到关闭信号后继续启动新的子进程(Tom Lane)

这一失误可能导致关闭耗时比应有的更长,甚至在没有额外用户操作的情况下永远无法完成。

关联记录(2)

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

BUG 修复避免内存不足时内部哈希表损坏

变更

避免内存不足时内部哈希表损坏(Hitoshi Harada)

关联记录(2)

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

其他改进防止已删除表的文件描述符在事务结束之后仍保持打开

变更

防止已删除表的文件描述符在事务结束之后仍保持打开(Tom Lane)

这应能减少早已删除的表继续占用磁盘空间的问题。

关联记录(1)

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

BUG 修复防止当新子进程无法为其闩锁创建管道时整个数据库崩溃并重启

变更

防止当新子进程无法为其闩锁创建管道时整个数据库崩溃并重启(Tom Lane)

虽然新进程必须失败,但没有充分理由强制整个数据库重启,因此避免这样做。这提高了内核文件描述符几乎耗尽时的健壮性。

关联记录(1)

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

BUG 修复修复外连接之上非严格等值子句的规划

变更

修复外连接之上非严格等值子句的规划(Tom Lane)

规划器可能从把非严格构造与别的值等同的子句中推导出错误的约束,例如当 foo 来自外连接的可空侧时的 WHERE COALESCE(foo, 0) = 0。

关联记录(1)

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

BUG 修复修复在继承树上对索引优化的 MIN/MAX 使用 SELECT DISTINCT 的问题

变更

修复在继承树上对索引优化的 MIN/MAX 使用 SELECT DISTINCT 的问题(Tom Lane)

在这种因素组合下,规划器会报 “failed to re-find MinMaxAggInfo record” 失败。

关联记录(1)

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

其他改进改进规划器从等价类证明排他约束的能力

变更

改进规划器从等价类证明排他约束的能力(Tom Lane)

关联记录(2)

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

BUG 修复修复哈希子计划中的部分行匹配,使其正确处理跨类型情况

变更

修复哈希子计划中的部分行匹配,使其正确处理跨类型情况(Tom Lane)

这影响多列 NOT IN 子计划,例如 WHERE (a, b) NOT IN (SELECT x, y FROM ...),当 b 和 y 分别是 int4 和 int8 时。根据所涉及的具体数据类型,这一失误会导致错误答案或崩溃。

关联记录(2)

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

其他改进在为 AFTER ROW UPDATE/DELETE 触发器重新获取旧元组时获取缓冲区锁

变更

在为 AFTER ROW UPDATE/DELETE 触发器重新获取旧元组时获取缓冲区锁(Andres Freund)

在非常罕见的情况下,这一疏忽可能导致向触发器 WHEN 条件或外键强制触发器的预检查逻辑传递不正确的数据。这可能导致崩溃,或者在是否触发触发器上做出错误决定。

关联记录(1)

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

BUG 修复修复ALTER COLUMN TYPE以正确重建继承的检查约束

变更

修复ALTER COLUMN TYPE以正确重建继承的检查约束(Tom Lane)

这在 8.4 之前的版本中工作正常,现在在 8.4 及更高版本中也工作正常。

关联记录(2)

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

BUG 修复修复 ALTER EXTENSION SET SCHEMA 未能把一些从属对象移入新模式的问题

变更

修复 ALTER EXTENSION SET SCHEMA 未能把一些从属对象移入新模式的问题(Álvaro Herrera、Dimitri Fontaine)

关联记录(1)

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

BUG 修复修复 REASSIGN OWNED 对表空间授权的处理

变更

修复 REASSIGN OWNED 对表空间授权的处理(Álvaro Herrera)

关联记录(2)

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

其他改进忽略视图中系统列的不正确 pg_attribute 条目

变更

忽略视图中系统列的不正确 pg_attribute 条目(Tom Lane)

视图没有任何系统列。然而,我们在把表转换为视图时忘记移除这类条目。这一问题在 9.3 及更高版本中已正确修复,但在以前的分支中,我们需要防御已经错误转换的视图。

关联记录(2)

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

BUG 修复修复规则打印,使其正确转储 INSERT INTO table DEFAULT VALUES

变更

修复规则打印,使其正确转储 INSERT INTO table DEFAULT VALUES(Tom Lane)

关联记录(2)

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

其他改进防止当查询中有过多 UNION/INTERSECT/EXCEPT 子句时栈溢出

变更

防止当查询中有过多 UNION/INTERSECT/EXCEPT 子句时栈溢出(Tom Lane)

关联记录(2)

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

其他改进防止用最小可能整数值除以 -1 时依赖平台的失败

变更

防止用最小可能整数值除以 -1 时依赖平台的失败(Xi Wang、Tom Lane)

关联记录(2)

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

BUG 修复修复日期解析中可能越过字符串末尾的访问

变更

修复日期解析中可能越过字符串末尾的访问(Hitoshi Harada)

关联记录(2)

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

BUG 修复修复当 XID 回卷发生在检查点期间且 wal_level 为 hot_standby 时 XID 纪元(epoch)未能推进的问题

变更

修复当 XID 回卷发生在检查点期间且 wal_level 为 hot_standby 时 XID 纪元(epoch)未能推进的问题(Tom Lane、Andres Freund)

虽然这一失误对 PostgreSQL 本身没有特别影响,但它对依赖 txid_current() 及相关函数的应用不利:TXID 值看起来会倒退。

关联记录(2)

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

BUG 修复修复 pg_stat_replication.sync_state 在页边界处的显示

变更

修复 pg_stat_replication.sync_state 在页边界处的显示(Kyotaro Horiguchi)

关联记录(1)

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

其他改进当 Unix 域套接字的路径名长度超过平台特定限制时,生成可理解的错误消息

变更

当 Unix 域套接字的路径名长度超过平台特定限制时,生成可理解的错误消息(Tom Lane、Andrew Dunstan)

此前这会导致相当无用的结果,例如 “Non-recoverable failure in name resolution”。

关联记录(2)

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

BUG 修复修复向客户端发送组合列值时的内存泄漏

变更

修复向客户端发送组合列值时的内存泄漏(Tom Lane)

关联记录(2)

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

其他改进使 pg_ctl 读取 postmaster.pid 文件更健壮

变更

使 pg_ctl 读取 postmaster.pid 文件更健壮(Heikki Linnakangas)

这修复了竞态条件和可能的文件描述符泄漏。

关联记录(1)

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

BUG 修复修复当呈现错误编码的数据且 client_encoding 设置为仅客户端编码(如 SJIS)时 psql 可能崩溃的问题

变更

修复当呈现错误编码的数据且 client_encoding 设置为仅客户端编码(如 SJIS)时 psql 可能崩溃的问题(Jiang Guiqing)

关联记录(2)

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

其他改进让 pg_dump 把 SEQUENCE SET 项转储到归档的数据节而不是前数据节

变更

让 pg_dump 把 SEQUENCE SET 项转储到归档的数据节而不是前数据节(Tom Lane)

此变更修复了被标记为扩展配置表的序列的转储。

BUG 修复修复 pg_dump 以 tar 输出格式生成的 restore.sql 脚本中的缺陷

变更

修复 pg_dump 以 tar 输出格式生成的 restore.sql 脚本中的缺陷(Tom Lane)

该脚本在表名包含大写字符时会直接失败。此外,让该脚本既能以常规 COPY 模式也能以 --inserts 模式恢复数据。

关联记录(2)

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

BUG 修复修复 pg_restore,使其接受符合 POSIX 的 tar 文件

变更

修复 pg_restore,使其接受符合 POSIX 的 tar 文件(Brian Weaver、Tom Lane)

pg_dump 的 tar 输出模式的原始编码生成的文件并不完全符合 POSIX 标准。这在 9.3 版本中已得到纠正。此补丁更新了以前的分支,使它们同时接受错误格式和纠正后的格式,希望借此避免 9.3 发布时的兼容性问题。

关联记录(2)

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

BUG 修复修复 pg_basebackup 生成的 tar 文件,使其符合 POSIX

变更

修复 pg_basebackup 生成的 tar 文件,使其符合 POSIX(Brian Weaver、Tom Lane)

关联记录(1)

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

BUG 修复修复 pg_resetxlog,使其在给定数据目录相对路径时正确定位 postmaster.pid

变更

修复 pg_resetxlog,使其在给定数据目录相对路径时正确定位 postmaster.pid(Tom Lane)

这一失误可能导致 pg_resetxlog 没有注意到有活动 postmaster 正在使用该数据目录。

关联记录(2)

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

BUG 修复修复 libpq 的 lo_import() 和 lo_export() 函数,使其正确报告文件 I/O 错误

变更

修复 libpq 的 lo_import() 和 lo_export() 函数,使其正确报告文件 I/O 错误(Tom Lane)

关联记录(2)

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

BUG 修复修复 ecpg 对嵌套结构指针变量的处理

变更

修复 ecpg 对嵌套结构指针变量的处理(Muhammad Usama)

关联记录(2)

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

BUG 修复修复 ecpg 的 ecpg_get_data 函数,使其正确处理数组

变更

修复 ecpg 的 ecpg_get_data 函数,使其正确处理数组(Michael Meskes)

关联记录(2)

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

其他改进让 contrib/pageinspect 的 btree 页面检查函数在检查页面时持有缓冲区锁

变更

让 contrib/pageinspect 的 btree 页面检查函数在检查页面时持有缓冲区锁(Tom Lane)

关联记录(2)

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

其他改进确保扩展的 make install 会创建 extension 安装目录

变更

确保扩展的 make install 会创建 extension 安装目录(Cédric Villemain)

此前,如果扩展的 Makefile 设置了 MODULEDIR,就会漏掉这一步。

关联记录(1)

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

BUG 修复修复 pgxs 在 AIX 上构建可加载模块的支持

变更

修复 pgxs 在 AIX 上构建可加载模块的支持(Tom Lane)

在原始源码树之外构建模块在 AIX 上不工作。

关联记录(2)

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

其他改进把时区数据文件更新为 tzdata 版本 2012j for DST law changes in Cuba, Israel, Jordan, Libya, Palestine, Western Samoa, and portions of Brazil。

变更

把时区数据文件更新为 tzdata 版本 2012j for DST law changes in Cuba, Israel, Jordan, Libya, Palestine, Western Samoa, and portions of Brazil。

关联记录(2)

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

这份对比如何生成?

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

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

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

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

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