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

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

文档版本对比

POSTGRESQL · VERSION COMPARE

PostgreSQL 10.1 的版本变更

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

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

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

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

本次发布的全部变更

10.1

2017-11-09

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

10.1 历史版本维护截止 2022-11-10

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

修复示例服务器启动脚本,使其在打开 $PGLOG 之前切换为 $PGUSER

8.410.1
CVE-2017-15098

修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃

4.310.1
CVE-2017-15099

确保 INSERT ... ON CONFLICT DO UPDATE 在所有情况下都检查表权限和 RLS 策略

3.110.1

PostgreSQL 10.1

升级与兼容性说明

对于运行 10.X 的用户,不需要执行导出/恢复。

但是,如果使用了 BRIN 索引,请参阅下方第四条变更日志。

安全相关确保 INSERT ... ON CONFLICT DO UPDATE 在所有情况下都检查表权限和 RLS 策略

变更

确保 INSERT ... ON CONFLICT DO UPDATE 在所有情况下都检查表权限和 RLS 策略(Dean Rasheed)

INSERT ... ON CONFLICT DO UPDATE 的更新路径要求对仲裁索引的列拥有 SELECT 权限,但在通过约束名称指定仲裁对象时,没有检查该权限。此外,对于启用了行级安全的表,它没有依据表的 SELECT 策略检查更新后的行(无论以何种方式指定仲裁索引)。(CVE-2017-15099)

关联记录(2)

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

安全相关修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃

变更

修复 json{b}_populate_recordset() 中行类型不匹配导致的崩溃(Michael Paquier,Tom Lane)

这些函数直接使用 FROM ... AS 子句中指定的结果行类型,而不检查它是否与所提供元组值的实际行类型匹配。如果不匹配,通常会导致崩溃,但似乎也可能泄露服务器内存内容。(CVE-2017-15098)

关联记录(4)

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

安全相关修复示例服务器启动脚本,使其在打开 $PGLOG 之前切换为 $PGUSER

变更

修复示例服务器启动脚本,使其在打开 $PGLOG 之前切换为 $PGUSER(Noah Misch)

以前,postmaster 日志文件在仍以 root 身份运行时打开。因此,数据库所有者可以将 $PGLOG 设为指向其他文件的符号链接,对其他系统用户发动攻击,因为追加日志消息会破坏该文件。

默认情况下,这些脚本不会安装到任何位置。使用这些脚本的用户需要手动重新复制脚本,或将相同修改应用到自行修改过的版本中。如果现有的 $PGLOG 文件归 root 所有,则需要先删除它或将其重命名移开,再使用修正后的脚本重启服务器。(CVE-2017-12172)

关联记录(5)

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

BUG 修复修复 BRIN 索引摘要生成,使其正确处理并发的表扩展

变更

修复 BRIN 索引摘要生成,使其正确处理并发的表扩展(Álvaro Herrera)

以前,一个竞态条件可能导致索引遗漏某些表行。可能需要重建现有 BRIN 索引,以修复此问题过去造成的影响。

关联记录(2)

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

BUG 修复修复并发更新 BRIN 索引期间可能发生的失败

变更

修复并发更新 BRIN 索引期间可能发生的失败(Tom Lane)

这些竞态条件可能导致 “invalid index offnum” 或 “inconsistent range map” 等错误。

关联记录(2)

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

其他改进防止逻辑复制在复制 UPDATE 时将未复制的列设为空值

变更

防止逻辑复制在复制 UPDATE 时将未复制的列设为空值(Petr Jelinek)

BUG 修复修复逻辑复制,使其按预期触发 BEFORE ROW DELETE 触发器

变更

修复逻辑复制,使其按预期触发 BEFORE ROW DELETE 触发器(Masahiko Sawada)

以前,除非表还具有 BEFORE ROW UPDATE 触发器,否则不会触发。

BUG 修复修复从使用 SPI 的函数(尤其是用 PL 语言编写的任何函数)调用逻辑解码时的崩溃

变更

修复从使用 SPI 的函数(尤其是用 PL 语言编写的任何函数)调用逻辑解码时的崩溃(Tom Lane)

关联记录(3)

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

其他改进查找 INSERT/UPDATE/DELETE 的目标表时忽略 CTE,并防止将带模式限定的目标表名与触发器过渡表名匹配

变更

查找 INSERT/UPDATE/DELETE 的目标表时忽略 CTE,并防止将带模式限定的目标表名与触发器过渡表名匹配(Thomas Munro)

这恢复了 v10 之前附加到 DML 命令的 CTE 的行为。

其他改进避免在聚合函数的 FILTER 测试不通过的行上计算其参数表达式

变更

避免在聚合函数的 FILTER 测试不通过的行上计算其参数表达式(Tom Lane)

这恢复了 v10 之前的行为(也符合 SQL 标准)。

BUG 修复修复多个 GROUPING SETS 列包含相同简单变量时查询结果不正确的问题

变更

修复多个 GROUPING SETS 列包含相同简单变量时查询结果不正确的问题(Tom Lane)

关联记录(1)

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

BUG 修复修复计算 SELECT 目标列表中的集合返回函数时,在查询生命周期内发生的内存泄漏

变更

修复计算 SELECT 目标列表中的集合返回函数时,在查询生命周期内发生的内存泄漏(Tom Lane)

其他改进允许并行执行使用通用计划的预备语句

变更

允许并行执行使用通用计划的预备语句(Amit Kapila,Kuntal Ghosh)

BUG 修复修复对嵌套查询作出的不正确并行化决定

变更

修复对嵌套查询作出的不正确并行化决定(Amit Kapila,Kuntal Ghosh)

关联记录(1)

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

BUG 修复修复并行查询处理,避免最近使用过的角色被删除时发生失败

变更

修复并行查询处理,避免最近使用过的角色被删除时发生失败(Amit Kapila)

关联记录(1)

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

BUG 修复修复并行执行位图扫描时,BitmapOr 节点下具有 BitmapAnd 计划节点所导致的崩溃

变更

修复并行执行位图扫描时,BitmapOr 节点下具有 BitmapAnd 计划节点所导致的崩溃(Dilip Kumar)

BUG 修复修复 json_build_array()、json_build_object() 及其 jsonb 对应函数,使其正确处理显式 VARIADIC 参数

变更

修复 json_build_array()、json_build_object() 及其 jsonb 对应函数,使其正确处理显式 VARIADIC 参数(Michael Paquier)

关联记录(3)

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

BUG 修复修复自动清理的“工作项”逻辑,防止可能的崩溃和工作项静默丢失

变更

修复自动清理的“工作项”逻辑,防止可能的崩溃和工作项静默丢失(Álvaro Herrera)

BUG 修复修复在视图末尾添加列时的极端情况崩溃

变更

修复在视图末尾添加列时的极端情况崩溃(Tom Lane)

关联记录(5)

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

其他改进当视图或规则包含 FieldSelect 或 FieldStore 表达式节点时,记录正确的依赖关系

变更

当视图或规则包含 FieldSelect 或 FieldStore 表达式节点时,记录正确的依赖关系(Tom Lane)

缺少这些依赖关系可能导致本应失败的列或数据类型 DROP 得以执行,从而使随后使用该视图或规则的操作出错。此补丁不会保护现有视图或规则,只保护今后创建的视图或规则。

关联记录(5)

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

其他改进正确检测范围数据类型是否支持 hash 运算

变更

正确检测范围数据类型是否支持 hash 运算(Tom Lane)

规划器错误地假定任何范围类型都可进行 hash 运算,用于哈希连接或 hash 聚合,但实际上必须检查该范围的子类型是否支持 hash。这不影响任何内置范围类型,因为它们都可进行 hash 运算。

关联记录(5)

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

其他改进检查函数依赖统计信息时,正确忽略 RelabelType 表达式节点

变更

检查函数依赖统计信息时,正确忽略 RelabelType 表达式节点(David Rowley)

例如,这使 varchar 列上的扩展统计信息能够得到正确使用。

其他改进防止有序集聚合之间共享转换状态

变更

防止有序集聚合之间共享转换状态(David Rowley)

这会使内置有序集聚合崩溃,用户编写的聚合很可能也会如此。v11 及更高版本将提供安全处理此类情况的措施,但在已发布分支中,仅禁用这项优化。

关联记录(1)

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

其他改进防止在先前发生 statement_timeout 后忽略 idle_in_transaction_session_timeout

变更

防止在先前发生 statement_timeout 后忽略 idle_in_transaction_session_timeout(Lukas Fittl)

关联记录(1)

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

BUG 修复修复 XID 回卷导致 NOTIFY 消息以低概率丢失的问题

变更

修复 XID 回卷导致 NOTIFY 消息以低概率丢失的问题(Marko Tiikkaja,Tom Lane)

如果一个会话在超过 20 亿个事务期间不执行查询,只监听通知,它就会开始遗漏某些来自并发提交事务的通知。

关联记录(5)

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

其他改进降低批量复制文件期间的数据刷盘请求频率,以避免 macOS 上的性能问题,尤其是其新的 APFS 文件系统

变更

降低批量复制文件期间的数据刷盘请求频率,以避免 macOS 上的性能问题,尤其是其新的 APFS 文件系统(Tom Lane)

关联记录(1)

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

其他改进允许在事务隔离级别为 REPEATABLE READ 或更高时使用 COPY 的 FREEZE 选项

变更

允许在事务隔离级别为 REPEATABLE READ 或更高时使用 COPY 的 FREEZE 选项(Noah Misch)

之前的一项缺陷修复意外破坏了这种用法。

关联记录(3)

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

BUG 修复修复 AggGetAggref(),使其向转换计算已合并的聚合的最终函数返回正确的 Aggref 节点

变更

修复 AggGetAggref(),使其向转换计算已合并的聚合的最终函数返回正确的 Aggref 节点(Tom Lane)

关联记录(1)

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

BUG 修复修复 pg_dump 和 psql 中某些新查询的模式限定不充分的问题

变更

修复 pg_dump 和 psql 中某些新查询的模式限定不充分的问题(Vitaly Burovoy,Tom Lane,Noah Misch)

其他改进避免在 psql 的 \d 查询中使用 @> 操作符

变更

避免在 psql 的 \d 查询中使用 @> 操作符(Tom Lane)

这避免了安装 parray_gin 扩展时出现问题,因为该扩展定义了一个冲突的操作符。

BUG 修复修复 pg_basebackup 的表空间路径匹配,使其在比较前先规范化两条路径

变更

修复 pg_basebackup 的表空间路径匹配,使其在比较前先规范化两条路径(Michael Paquier)

这在 Windows 上尤其有用。

关联记录(2)

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

BUG 修复修复 libpq,使其不再要求用户主目录存在

变更

修复 libpq,使其不再要求用户主目录存在(Tom Lane)

在 v10 中,尝试读取 ~/.pgpass 时找不到主目录被视为严重错误,但实际上应只视为找不到该文件。v10 和以前的发布分支在读取 ~/.pg_service.conf 时都犯了同样的错误,不过这个问题不太明显,因为只有指定服务名时才会查找该文件。

关联记录(5)

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

其他改进在 ecpglib 中,根据是否设置了 standard_conforming_strings 正确处理字符串字面量中的反斜杠

变更

在 ecpglib 中,根据是否设置了 standard_conforming_strings 正确处理字符串字面量中的反斜杠(Tsunakawa Takayuki)

关联记录(3)

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

其他改进使 ecpglib 的 Informix 兼容模式按预期忽略整数输入字符串中的小数位

变更

使 ecpglib 的 Informix 兼容模式按预期忽略整数输入字符串中的小数位(Gao Zengqi,Michael Meskes)

关联记录(4)

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

BUG 修复修复类似 check 的 Make 目标缺少 temp-install 前置依赖的问题

变更

修复类似 check 的 Make 目标缺少 temp-install 前置依赖的问题(Noah Misch)

某些本应像 make check 一样工作的非默认测试过程,未能确保临时安装是最新的。

关联记录(2)

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

其他改进将时区数据文件更新到 tzdata 2017c 版,以反映斐济、纳米比亚、北塞浦路斯、苏丹、汤加和特克斯 & 凯科斯群岛的夏令时法规变更,并修正阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史数据。

变更

将时区数据文件更新到 tzdata 2017c 版,以反映斐济、纳米比亚、北塞浦路斯、苏丹、汤加和特克斯 & 凯科斯群岛的夏令时法规变更,并修正阿拉斯加、阿皮亚、缅甸、加尔各答、底特律、爱尔兰、纳米比亚和帕果帕果的历史数据。

关联记录(5)

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

其他改进在文档中,恢复使用大写字符串作为 HTML 锚点

变更

在文档中,恢复使用大写字符串作为 HTML 锚点(Peter Eisentraut)

由于工具链变更,10.0 用户手册的页内锚点使用了小写字符串,导致某些指向我们网站文档的外部链接失效。现在恢复了以前使用大写字符串的惯例。

这份对比如何生成?

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

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

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

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

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