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

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

文档版本对比

POSTGRESQL · VERSION COMPARE

PostgreSQL 15.20 的版本变更

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

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

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

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

本次发布的全部变更

15.20

2026-11-12

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

15.20 受支持版本维护截止 2027-11-11

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

确保 psql 统计多查询命令字符串中出现的所有 COPY FROM STDIN 命令

8.115.19
CVE-2026-6467

防止在 CREATE EXTENSION 期间重命名目标模式,或将扩展安装到临时模式,从而破坏新安装的扩展

CVE-2026-6460

针对并发修改复合类型并操作该类型数据所引发的问题增加防护

CVE-2026-18447

禁止将 SQL 函数声明为返回 "any" 类型

CVE-2026-16240

修复 pg_basebackup 使用受外部控制的格式字符串的问题

CVE-2026-16237

在 INSERT ... ON CONFLICT 中强制检查视图行的可见性

CVE-2026-14661

验证复制订阅和 contrib/dblink 中的所有连接选项

CVE-2026-120154

在应用用户限定条件之前,根据 RLS 策略检查 ON CONFLICT 的目标行

CVE-2026-120153

在扩展脚本替换中拒绝更多不安全的名称

CVE-2026-120151

在 PL/pgSQL 记录字段赋值中处理并发的行类型变更

CVE-2026-120150

修复展开记录的域约束检查中释放后使用内存的问题

CVE-2026-120149

避免 FDW 批量插入中的越界访问

CVE-2026-120148

拒绝为瞬态类型的表达式创建扩展统计信息

CVE-2026-120147

拒绝重入使用 contrib/dblink

CVE-2026-120146

使 REASSIGN OWNED 对调用者权限的检查与 ALTER ... OWNER TO 一致

CVE-2026-120145

拒绝将系统目录用作逻辑复制目标

CVE-2026-120143

在触发器函数结束时强制关闭与过渡表关联的 portal

CVE-2026-120141

修复返回 RECORD 的集合返回函数在查询目标列表中物化时的类型混淆

CVE-2026-120139

加固更多内存大小计算,防止整数溢出

CVE-2026-116336

防止索引谓词和表达式中的函数通过操纵索引破坏 REINDEX CONCURRENTLY

CVE-2026-116335

检查互为交换子或求反器的操作符对是否返回相同的数据类型

CVE-2026-116332

禁止关闭仍在初始化的 portal

CVE-2026-116331

不再为输入类型与输出类型不匹配的聚合生成基于索引的计划

CVE-2026-116330

使 \[un]restrict 命令在 pg_dump 的 tar 格式输出中生效

CVE-2026-116328

防止在“generation”内存上下文中释放大块内存后发生内存损坏

CVE-2026-116327

将应用于 CaseTestExpr 或内部 Param 节点的可泄露函数视为会泄露信息

CVE-2026-116326

在 PL/Perl 和相关 contrib 模块中支持“绑定”的 Perl 对象

CVE-2026-116323

修复重入使用 PL/Tcl 时释放后使用内存的风险

CVE-2026-116321

防止通过元素赋值构造无效的 name 值

CVE-2026-116320

修复扫描 Perl 数组和哈希时释放后使用内存的问题

CVE-2026-116319

修复 plperl_return_next_internal() 中释放后使用内存的问题

CVE-2026-116317

修复 ts_rank_cd() 中的缓冲区越界写入

CVE-2026-116316

禁止受安全限制的操作在临时模式中创建类型

CVE-2026-116315

修复 tsvector_delete() 中的缓冲区越界写入

CVE-2026-116314

增强 pg_restore 对损坏归档文件的防护

CVE-2026-116312

避免在先执行 INSERT 再执行 UPDATE 的 MERGE 中向触发器过渡表插入错误的元组

CVE-2026-116311

防止 DROP OWNED BY 修改不属于当前用户的表上的行级安全策略

CVE-2026-116309

修复 PL/Perl 的 get_perl_array_ref() 中的类型混淆

CVE-2026-116308

在 contrib/dict_int 中为零长度词元返回 NULL

CVE-2026-116307

修复 PL/Perl 中释放正在执行的预备查询所触发的释放后使用内存问题

CVE-2026-116306

在 ExecEvalFieldStore[De]Form() 中处理并发的行类型变更

CVE-2026-116304

修复共享元组描述符管理中导致释放后使用内存的竞态条件

CVE-2026-116303

在 to_json() 和其他转换为 JSON 的代码中调用类型转换函数前检查 EXECUTE 权限

PostgreSQL 15.20

升级与兼容性说明

运行 15.X 的用户无需转储/恢复。

不过,已发现多个可能导致索引损坏的错误。请检查下面变更日志中提到 REINDEX 的条目,并重建任何可能受到影响的索引。

另外,如果你是从早于 15.19 的版本升级,请参见第 E.2 节。

安全相关针对并发修改复合类型并操作该类型数据所引发的问题增加防护

变更

针对并发修改复合类型并操作该类型数据所引发的问题增加防护(Heikki Linnakangas,Andres Freund,Nathan Bossart,Nikhil Sontakke)§§§§§§§§§§§§§§§§§§§§§§§§§§§§

ALTER TABLE ... ALTER COLUMN TYPE 等操作存在风险,因为系统中可能仍有采用旧行布局的元组。虽然我们早已加入一些检查来防范此类情况,但这些检查从未完全覆盖所有情况,而且完全无法检测在查询使用复合类型的同时修改该类型的情况。这一大批补丁旨在改善这些问题。

引入版本控制逻辑,以便检测复合 datum 与用于解释它们的元组描述符不匹配的情况。要获得完整保护,此项更改要求重新构建 C 语言扩展,有些扩展还需要修改源代码。必要时,可以使用新增的服务器参数 composite_type_mismatch 禁用这些检查,但这样做存在安全风险。

增加锁定,防止对尚未提交的 CREATE TABLE 所使用的复合类型执行 ALTER TYPE 等操作。

收紧复合类型存在依赖项时是否允许 ALTER COLUMN TYPE 的规则。例如,当函数的默认表达式或新式 SQL 函数体依赖该类型时,不再允许此操作。

PostgreSQL 项目感谢 Andrew Gierth, Alexander Lakhin, Francesco Verardi, Hcamael, Tomer Fichman, OpenAI Security Research Team, Peter Geoghegan, Mehmet Ince, Bryan Green, Sumedh Pathak, Sergey Shinderuk, Yuxiao Guo, Nikhil Sontakke, Daniel Bakker, the Anthropic OSS program, Claude and Ada Logics 报告此问题。(CVE-2026-6460)

关联记录(4)

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

安全相关在 ExecEvalFieldStore[De]Form() 中处理并发的行类型变更

变更

在 ExecEvalFieldStore[De]Form() 中处理并发的行类型变更(Tomas Vondra,Heikki Linnakangas)§

PostgreSQL 项目感谢 OpenAI Codex Security, Bronson Yen, Mehmet Ince, Claude and Ada Logics 报告此问题。(CVE-2026-116306)

关联记录(4)

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

安全相关在 INSERT ... ON CONFLICT 中强制检查视图行的可见性

变更

在 INSERT ... ON CONFLICT 中强制检查视图行的可见性(Peter Geoghegan,Zsolt Parragi)§

对视图执行 INSERT ... ON CONFLICT DO UPDATE 时,可能更新本应被视图的 WHERE 子句隐藏的行。虽然文档说明了这一行为,但它显然出乎意料,而且会引发安全问题:用户可以更新其本不应有权访问的行。更新不正确,而插入也不可能(会因用于判定冲突的唯一索引而失败),因此现在遇到这种情况时改为报错。INSERT ... ON CONFLICT DO SELECT 此前也可能显示此类行,现在不再如此。

PostgreSQL 项目感谢 Qing Xu, Carl Andersen, Zsolt Parragi, the Anthropic OSS program, Shihao Zhong, and Josef Šimánek 报告此问题。(CVE-2026-16237)

关联记录(4)

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

安全相关使 REASSIGN OWNED 对调用者权限的检查与 ALTER ... OWNER TO 一致

变更

使 REASSIGN OWNED 对调用者权限的检查与 ALTER ... OWNER TO 一致(Zsolt Parragi)§

从 v16 起,将对象交给另一个角色要求能够 SET ROLE 到该角色。然而,被授予 INHERIT TRUE, SET FALSE 的角色可以通过 REASSIGN OWNED 绕过此要求。被授予 INHERIT FALSE, SET TRUE 的角色则遇到相反的问题:REASSIGN OWNED 失败,而 ALTER OWNER 成功。现在让 REASSIGN 遵循 ALTER OWNER 的规则。

REASSIGN OWNED 还绕过了 ALTER DATABASE OWNER 中的 CREATEDB 权限检查。

在 v15 和 v14 中,REASSIGN OWNED 的权限检查比 ALTER OWNER 中的成员资格检查更严格。这一点保持不变,但仍修复缺失的 CREATEDB 检查。

PostgreSQL 项目感谢 Zsolt Parragi 报告此问题。(CVE-2026-120146)

关联记录(4)

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

安全相关禁止关闭仍在初始化的 portal

变更

禁止关闭仍在初始化的 portal(Michael Paquier)§

此项更改可防止多种释放后使用内存的问题。

PostgreSQL 项目感谢 Tomas Vondra 报告此问题。(CVE-2026-116332)

关联记录(4)

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

安全相关在触发器函数结束时强制关闭与过渡表关联的 portal

变更

在触发器函数结束时强制关闭与过渡表关联的 portal(Jeff Davis)§

此项更改可避免释放后使用内存的风险。

PostgreSQL 项目感谢 Peter Geoghegan 报告此问题。(CVE-2026-120143)

关联记录(4)

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

安全相关修复共享元组描述符管理中导致释放后使用内存的竞态条件

变更

修复共享元组描述符管理中导致释放后使用内存的竞态条件(Robert Haas)§

PostgreSQL 项目感谢 Peter Geoghegan 报告此问题。(CVE-2026-116304)

关联记录(4)

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

安全相关修复展开记录的域约束检查中释放后使用内存的问题

变更

修复展开记录的域约束检查中释放后使用内存的问题(Tom Lane)§

PostgreSQL 项目感谢 Claude and Ada Logics 报告此问题。(CVE-2026-120150)

关联记录(4)

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

安全相关防止在“generation”内存上下文中释放大块内存后发生内存损坏

变更

防止在“generation”内存上下文中释放大块内存后发生内存损坏(Heikki Linnakangas)§

PostgreSQL 项目感谢 Jayden Sarveshkumar 报告此问题。(CVE-2026-116328)

关联记录(3)

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

安全相关修复 tsvector_delete() 中的缓冲区越界写入

变更

修复 tsvector_delete() 中的缓冲区越界写入(Anthropic OSS program)§

精心构造的输入可能诱使 tsvector_delete() 写入超出为其结果分配的空间的字节。

PostgreSQL 项目感谢 the Anthropic OSS program 报告此问题。(CVE-2026-116315)

关联记录(4)

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

安全相关修复 ts_rank_cd() 中的缓冲区越界写入

变更

修复 ts_rank_cd() 中的缓冲区越界写入(Anthropic OSS program)§

精心构造的输入可能诱使 ts_rank_cd() 写入超出为其结果分配的空间的字节。

PostgreSQL 项目感谢 the Anthropic OSS program 报告此问题。(CVE-2026-116317)

关联记录(4)

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

安全相关防止通过元素赋值构造无效的 name 值

变更

防止通过元素赋值构造无效的 name 值(Tom Lane)§

array_set_element() 可能被滥用,使 name 类型值的最后一个字节变为非零。随后使用该值时就会发生越界读取,导致崩溃或泄露服务器内存。同时也禁止通过此机制构造编码无效的字符串。

PostgreSQL 项目感谢 the Anthropic OSS program 报告此问题。(CVE-2026-116321)

关联记录(4)

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

安全相关将应用于 CaseTestExpr 或内部 Param 节点的可泄露函数视为会泄露信息

变更

将应用于 CaseTestExpr 或内部 Param 节点的可泄露函数视为会泄露信息(Tom Lane)§

CaseTestExpr 或内部 Param 表示查询中其他位置的表达式的值。如果该表达式包含 Var,就存在信息泄露的可能。因此,在判断表达式是否不泄露信息时,应拒绝此类情况。

PostgreSQL 项目感谢 Only see myself 报告此问题。(CVE-2026-116327)

关联记录(4)

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

安全相关不再为输入类型与输出类型不匹配的聚合生成基于索引的计划

变更

不再为输入类型与输出类型不匹配的聚合生成基于索引的计划(Tom Lane)§

此前,只要聚合附有 SORTOP 选项,就会不加检查地生成此类计划。基于索引的计划会返回聚合的输入列,如果其声明的输出类型不同,就会造成类型违规,甚至可能执行任意代码。在 master 分支中,禁止此类聚合声明。在已发布的分支中,增加规划时检查,在类型不匹配时不生成此类计划。

PostgreSQL 项目感谢 Zheng Yu, Claude and Ada Logics 报告此问题。(CVE-2026-116331)

关联记录(4)

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

安全相关避免在先执行 INSERT 再执行 UPDATE 的 MERGE 中向触发器过渡表插入错误的元组

变更

避免在先执行 INSERT 再执行 UPDATE 的 MERGE 中向触发器过渡表插入错误的元组(Heikki Linnakangas,Jacek Bylina,Jacob Robertson,Nigel Gott)§

PostgreSQL 项目感谢 Jacek Bylina, Timothy Ball, Claude and Ada Logics 报告此问题。(CVE-2026-116312)

关联记录(3)

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

安全相关检查互为交换子或求反器的操作符对是否返回相同的数据类型

变更

检查互为交换子或求反器的操作符对是否返回相同的数据类型(Tom Lane)§

此前,替换为交换子或求反器操作符可能导致类型违规。此补丁还修正了一些情况:一个操作符通过交换子/求反器链接指向另一个操作符,但后者没有反向链接到前者。

PostgreSQL 项目感谢 Claude and Ada Logics 报告此问题。(CVE-2026-116335)

关联记录(4)

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

安全相关防止索引谓词和表达式中的函数通过操纵索引破坏 REINDEX CONCURRENTLY

变更

防止索引谓词和表达式中的函数通过操纵索引破坏 REINDEX CONCURRENTLY(Michael Paquier)§

PostgreSQL 项目感谢 Florent Saudel 报告此问题。(CVE-2026-116336)

关联记录(4)

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

安全相关防止在 CREATE EXTENSION 期间重命名目标模式,或将扩展安装到临时模式,从而破坏新安装的扩展

变更

防止在 CREATE EXTENSION 期间重命名目标模式,或将扩展安装到临时模式,从而破坏新安装的扩展(Noah Misch)§§

攻击者经过巧妙设计,可能用自己创建的对象替换扩展中的对象。

PostgreSQL 项目感谢 Noah Misch 报告此问题。(CVE-2026-6467)

关联记录(4)

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

安全相关在扩展脚本替换中拒绝更多不安全的名称

变更

在扩展脚本替换中拒绝更多不安全的名称(Nathan Bossart)§

此前已拒绝包含引号、反斜杠和美元符号的模式名称与所有者名称,但包含换行符、回车符、注释分隔符或替换词元本身的名称仍可实现 SQL 注入。现在也拒绝所有这些情况。

PostgreSQL 项目感谢 the Anthropic OSS program, Sven Klemm, and Aaron Chen 报告此问题。(CVE-2026-120153)

关联记录(4)

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

安全相关在 to_json() 和其他转换为 JSON 的代码中调用类型转换函数前检查 EXECUTE 权限

变更

在 to_json() 和其他转换为 JSON 的代码中调用类型转换函数前检查 EXECUTE 权限(Nathan Bossart,Anthropic OSS program)§

通常此类函数本就向公众授予了 EXECUTE 权限,但这能使其行为与正常执行类型转换时一致。

PostgreSQL 项目感谢 Filip Janus and the Anthropic OSS program 报告此问题。(CVE-2026-116303)

关联记录(4)

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

安全相关在外键约束检查中调用类型转换函数前检查 EXECUTE 权限

变更

在外键约束检查中调用类型转换函数前检查 EXECUTE 权限(Nathan Bossart)§

通常此类函数本就向公众授予了 EXECUTE 权限,但这能使其行为与正常执行类型转换时一致。

PostgreSQL 项目感谢 Noah Misch 报告此问题。(CVE-2026-116303)

关联记录(4)

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

安全相关防止 DROP OWNED BY 修改不属于当前用户的表上的行级安全策略

变更

防止 DROP OWNED BY 修改不属于当前用户的表上的行级安全策略(Zsolt Parragi,Anthropic OSS program)§

此前,无特权角色可以将自身从不属于自己的表上的限制性策略中移除。现在改为发出警告,与当前用户无法撤销权限时的既有处理一致。

PostgreSQL 项目感谢 Zsolt Parragi and the Anthropic OSS program 报告此问题。(CVE-2026-116311)

关联记录(4)

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

安全相关禁止受安全限制的操作在临时模式中创建类型

变更

禁止受安全限制的操作在临时模式中创建类型(Anthropic OSS program,Nathan Bossart)§

此前已禁止在此上下文中创建临时表,但类型也可能遮蔽永久对象,从而导致权限提升。

PostgreSQL 项目感谢 the Anthropic OSS program 报告此问题。(CVE-2026-116316)

关联记录(4)

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

安全相关避免 FDW 批量插入中的越界访问

变更

避免 FDW 批量插入中的越界访问(Nathan Bossart)§

PostgreSQL 项目感谢 Sumedh Pathak and Sven Klemm 报告此问题。(CVE-2026-120149)

关联记录(4)

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

安全相关拒绝为瞬态类型的表达式创建扩展统计信息

变更

拒绝为瞬态类型的表达式创建扩展统计信息(Masahiko Sawada)§

禁止对类型不能用作表列类型的表达式执行 CREATE STATISTICS,其中最典型的是匿名记录类型。这可以防止其他会话误解存储的值。

PostgreSQL 项目感谢 Mehmet Ince 报告此问题。(CVE-2026-120148)

关联记录(4)

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

安全相关拒绝将系统目录用作逻辑复制目标

变更

拒绝将系统目录用作逻辑复制目标(Masahiko Sawada)§

PostgreSQL 项目感谢 Qian Zhang 报告此问题。(CVE-2026-120145)

关联记录(4)

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

安全相关在应用用户限定条件之前,根据 RLS 策略检查 ON CONFLICT 的目标行

变更

在应用用户限定条件之前,根据 RLS 策略检查 ON CONFLICT 的目标行(Peter Geoghegan,Zsolt Parragi)§

此前,可泄露信息的限定表达式能够看到 RLS 策略本应禁止其看到的行。

PostgreSQL 项目感谢 Peter Geoghegan, Zsolt Parragi, Only see myself, the Anthropic OSS program, Joao Detomini, Josef Šimánek, and Qing Xu 报告此问题。(CVE-2026-120154)

关联记录(4)

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

安全相关验证复制订阅和 contrib/dblink 中的所有连接选项

变更

验证复制订阅和 contrib/dblink 中的所有连接选项(Jacob Champion)§

此前,这些检查的应用不一致。

PostgreSQL 项目感谢 Andrey Krasichkov, Bashir Altawil, and Zsolt Parragi 报告此问题。(CVE-2026-14661)

关联记录(4)

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

安全相关禁止将 SQL 函数声明为返回 "any" 类型

变更

禁止将 SQL 函数声明为返回 "any" 类型(Peter Geoghegan)§

这会导致类型违规。

PostgreSQL 项目感谢 Peter Geoghegan, Claude and Ada Logics 报告此问题。(CVE-2026-18447)

关联记录(4)

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

安全相关加固更多内存大小计算,防止整数溢出

变更

加固更多内存大小计算,防止整数溢出(Álvaro Herrera)§§

PostgreSQL 项目感谢 Hillai Ben Sasson, Jayden Sarveshkumar, and Mehmet Ince 报告此问题。(CVE-2026-120139)

关联记录(4)

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

安全相关修复返回 RECORD 的集合返回函数在查询目标列表中物化时的类型混淆

变更

修复返回 RECORD 的集合返回函数在查询目标列表中物化时的类型混淆(Melanie Plageman,Robert Haas)§

多次调用共用同一个元组描述符,这并不安全,因为实际记录类型可能发生变化。

PostgreSQL 项目感谢 Peter Geoghegan 报告此问题。(CVE-2026-120141)

关联记录(4)

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

安全相关在 PL/pgSQL 记录字段赋值中处理并发的行类型变更

变更

在 PL/pgSQL 记录字段赋值中处理并发的行类型变更(Tom Lane)§

PostgreSQL 项目感谢 Claude and Ada Logics 报告此问题。(CVE-2026-120151)

关联记录(4)

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

安全相关在 PL/Perl 和相关 contrib 模块中支持“绑定”的 Perl 对象

变更

在 PL/Perl 和相关 contrib 模块中支持“绑定”的 Perl 对象(Andrey Rachitskiy)§

此前,如果将绑定对象传给 PL/Perl 操作,它很可能会被当作 undef,因为我们没有对传入值执行 Perl 的 get magic。绑定哈希只能部分工作:可以读出键,但其值总是读作 undef。

此项更改最初计划只用于 master 分支,因为它看起来像是在增加功能。但随后发现,即使没有此补丁,绑定对象也可能触发各种达到安全漏洞级别的异常行为。因此,先将此项更改回补到旧分支,比尝试分别保障两套行为的安全更为合适。(CVE-2026-116326)

关联记录(4)

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

安全相关修复 PL/Perl 对绑定对象抛出错误的处理

变更

修复 PL/Perl 对绑定对象抛出错误的处理(Tom Lane,Andrew Dunstan)§§

PostgreSQL 项目感谢 Ngoc Tran, the Anthropic OSS program, and Dwij Mehta 报告此问题。(CVE-2026-116326)

关联记录(4)

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

安全相关修复 PL/Perl 的 get_perl_array_ref() 中的类型混淆

变更

修复 PL/Perl 的 get_perl_array_ref() 中的类型混淆(Andrew Dunstan)§

PostgreSQL 项目感谢 Zheng Yu 报告此问题。(CVE-2026-116309)

关联记录(4)

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

安全相关修复扫描 Perl 数组和哈希时释放后使用内存的问题

变更

修复扫描 Perl 数组和哈希时释放后使用内存的问题(Tom Lane,Anthropic OSS program)§

PostgreSQL 项目感谢 the Anthropic OSS program 报告此问题。(CVE-2026-116320)

关联记录(4)

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

安全相关修复 plperl_return_next_internal() 中释放后使用内存的问题

变更

修复 plperl_return_next_internal() 中释放后使用内存的问题(Anthropic OSS program)§

PostgreSQL 项目感谢 the Anthropic OSS program and Ngoc Tran 报告此问题。(CVE-2026-116319)

关联记录(4)

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

安全相关修复 PL/Perl 中释放正在执行的预备查询所触发的释放后使用内存问题

变更

修复 PL/Perl 中释放正在执行的预备查询所触发的释放后使用内存问题(Masahiko Sawada)§

PostgreSQL 项目感谢 Zheng Yu and the Anthropic OSS program 报告此问题。(CVE-2026-116307)

关联记录(4)

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

安全相关修复重入使用 PL/Tcl 时释放后使用内存的风险

变更

修复重入使用 PL/Tcl 时释放后使用内存的风险(Tom Lane)§

PostgreSQL 项目感谢 the Anthropic OSS program 报告此问题。(CVE-2026-116323)

关联记录(4)

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

安全相关拒绝重入使用 contrib/dblink

变更

拒绝重入使用 contrib/dblink(Masahiko Sawada)§

PostgreSQL 项目感谢 Jiyong Ahn 报告此问题。(CVE-2026-120147)

关联记录(4)

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

安全相关在 contrib/dict_int 中为零长度词元返回 NULL

变更

在 contrib/dict_int 中为零长度词元返回 NULL(Nathan Bossart,Anthropic OSS program)§

此行为与其他全文检索词典类型一致,并避免了此前可能发生的服务器内存泄露。

PostgreSQL 项目感谢 Nathan Bossart and the Anthropic OSS program 报告此问题。(CVE-2026-116308)

关联记录(4)

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

安全相关使 \[un]restrict 命令在 pg_dump 的 tar 格式输出中生效

变更

使 \[un]restrict 命令在 pg_dump 的 tar 格式输出中生效(Noah Misch)§

这为使用未记入文档的 restore.sql tar 成员的用户提供了预期的保护。

PostgreSQL 项目感谢 Pavel Kopylov 报告此问题。(CVE-2026-116330)

关联记录(4)

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

安全相关增强 pg_restore 对损坏归档文件的防护

变更

增强 pg_restore 对损坏归档文件的防护(Dilip Kumar,Yonghwa Lee,Nathan Bossart)§

此补丁修复了越界访问和文件路径遍历风险。仍有其他问题尚未解决,但它们似乎不构成安全漏洞。

PostgreSQL 项目感谢 Dilip Kumar, Yonghwa Lee, OpenSec, and Ben Dixon 报告此问题。(CVE-2026-116314)

关联记录(4)

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

安全相关修复 pg_basebackup 使用受外部控制的格式字符串的问题

变更

修复 pg_basebackup 使用受外部控制的格式字符串的问题(Peter Eisentraut)§

只有服务器数据目录中存在名称异常的文件时,才可能触发此问题。

PostgreSQL 项目感谢 Peter Eisentraut 报告此问题。(CVE-2026-16240)

关联记录(4)

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

其他改进禁用 bpchar 数据类型的 B-树索引去重支持

变更

禁用 bpchar 数据类型的 B-树索引去重支持(Shihao Zhong,Peter Geoghegan)§

索引去重对 bpchar 并不安全,因为其相等判定比逐位相等更宽松。具体而言,bpchar 的相等比较会忽略尾随空格,因此长度不同的值可能被判定为相等。去重随后会使仅索引扫描返回细微错误的结果。

此补丁对新索引项禁用去重,但不会修复现有索引项中可能存在的损坏。因此,在 bpchar 列上建有 B-树索引的用户,应在安装此更新后对这些索引执行 REINDEX。

请注意,此问题只影响声明为 bpchar、即不带任何长度约束的列。更常见的 CHAR(n) 用法没有风险,虽然它使用相同的底层代码,但长度约束会使其他方面相等的字符串具有相同的长度,从而逐位相等。

关联记录(4)

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

其他改进确保 VACUUM 清理 GIN 索引中的所有死元组

变更

确保 VACUUM 清理 GIN 索引中的所有死元组(Peter Geoghegan)§§

当一次 VACUUM 操作需要多次扫描索引时(因为要移除的元组数量超过一次能放入内存的数量),可能漏掉一些应当移除的索引项。另一个涉及与叶子页分裂发生竞态的错误也有相同影响。这些错误最终会导致索引损坏,使索引项指向不相关的表行。如果怀疑已发生这种情况,建议执行 REINDEX。

关联记录(4)

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

BUG 修复修复未完成页分裂之后的 GIN 倒排树页面删除

变更

修复未完成页分裂之后的 GIN 倒排树页面删除(Peter Geoghegan)§

删除步骤可能错误地断开兄弟页面,导致后续索引搜索漏掉行。如果怀疑已发生这种情况,建议执行 REINDEX。

关联记录(4)

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

BUG 修复修复未能更新 TOAST 表索引的可变 pg_index 字段的问题

变更

修复未能更新 TOAST 表索引的可变 pg_index 字段的问题(Bharath Rupireddy)§

REINDEX CONCURRENTLY 可以更改这些字段,但关系缓存没有预料到这一点,导致索引更新可能被遗漏。最终可能因缺少索引项而出现“missing chunk number”错误。幸运的是,这些错误仅表示索引损坏;TOAST 表本身正常,因此执行 REINDEX 就足以恢复。

关联记录(4)

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

BUG 修复修复横向引用触发的多种规划器错误

变更

修复横向引用触发的多种规划器错误(Richard Guo)§§§§§

这些错误可能生成不正确的查询计划并返回错误结果,也可能导致“failed to build any N-way joins”等规划器内部错误。

关联记录(4)

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

BUG 修复修复作为嵌套循环参数的 PlaceHolderVar 的放置位置

变更

修复作为嵌套循环参数的 PlaceHolderVar 的放置位置(Richard Guo)§

在极少数情况下,规划可能失败并报出“failed to assign all NestLoopParams to plan nodes”、“plan should not reference subplan's variable”或“variable not found in subplan target list”错误。

关联记录(4)

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

其他改进避免排序键为 PlaceHolderVar 时规划器失败

变更

避免排序键为 PlaceHolderVar 时规划器失败(Richard Guo)§§

根据所选计划的形状,此类情况可能产生错误结果,也可能报出“variable not found in subplan target lists”错误。

关联记录(4)

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

其他改进在展开整行连接别名引用时正确处理 SubLink

变更

在展开整行连接别名引用时正确处理 SubLink(Richard Guo)§

这一遗漏导致“cannot handle unplanned sub-select”或“unrecognized node type”等错误。

关联记录(4)

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

其他改进当子查询的目标列表含有任何集合返回函数时,不再假定 DISTINCT ON 能确保子查询输出行的唯一性

变更

当子查询的目标列表含有任何集合返回函数时,不再假定 DISTINCT ON 能确保子查询输出行的唯一性(Richard Guo)§

这一假定不成立,因为集合返回函数可能在去重步骤之后求值。

关联记录(4)

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

BUG 修复修复查询指定 FETCH ... WITH TIES 时 MIN()/MAX() 索引扫描的错误行为

变更

修复查询指定 FETCH ... WITH TIES 时 MIN()/MAX() 索引扫描的错误行为(Chaitanya Choudhary)§

WITH TIES 选项被意外复制到为执行索引扫描而生成的子 SELECT 中,可能触发“more than one row returned by a subquery used as an expression”错误。

关联记录(4)

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

BUG 修复对半连接右侧去重时使用正确的排序规则

变更

对半连接右侧去重时使用正确的排序规则(Andrey Rachitskiy)§

此问题只在连接比较子句使用非确定性排序规则时发生,因为所有确定性排序规则对字符串相等性的判断都一致。但在此情况下,可能产生包含过多行的错误结果。

关联记录(4)

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

其他改进在 INSERT ... ON CONFLICT 期间对冲突行获取谓词锁

变更

在 INSERT ... ON CONFLICT 期间对冲突行获取谓词锁(Zsolt Parragi,Andrey Borodin)§§

此前未这样做,导致可串行化模式下行为不正确,允许本应以串行化错误失败的并发更新。

关联记录(4)

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

BUG 修复修复不正确的多列 RANGE 分区剪枝

变更

修复不正确的多列 RANGE 分区剪枝(David Rowley)§

对 RANGE 分区表执行分区剪枝时,如果裁剪限定条件仅涉及分区键的一个前导前缀,分区剪枝可能移除一些不应被裁剪的分区(导致漏掉本应找到的行),也可能包含一些不需要的分区。

关联记录(4)

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

BUG 修复修复使用 MINVALUE 或 MAXVALUE 边界的范围分区表中错误剪枝 DEFAULT 分区的问题

变更

修复使用 MINVALUE 或 MAXVALUE 边界的范围分区表中错误剪枝 DEFAULT 分区的问题(Ewan Young)§

在某些情况下,代码会错误地认定无需扫描 DEFAULT 分区,从而漏掉一些本应匹配查询的行。

关联记录(4)

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

BUG 修复修复查询对同一列应用多个排序键时的问题

变更

修复查询对同一列应用多个排序键时的问题(David Rowley,Ayush Tiwari)§§

某些查询可能使后端进程崩溃,其他情况下则会忽略附加的排序指定。通常这些附加指定确实是冗余的,因为第一个指定就能完全确定结果顺序。但使用非确定性排序规则,或查询使用不同的 ORDER BY 操作符时,并不一定如此。

关联记录(4)

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

其他改进避免在多个位置引用哈希 SubPlan 时可能复用过时哈希表的问题

变更

避免在多个位置引用哈希 SubPlan 时可能复用过时哈希表的问题(Rahul Yadav)§§

关联记录(4)

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

BUG 修复确保 Memoize 计划节点使用正确的输入排序规则

变更

确保 Memoize 计划节点使用正确的输入排序规则(Shihao Zhong)§

这只在使用非确定性排序规则时有影响。

关联记录(4)

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

BUG 修复修复 Param 是缓存键的子表达式时 Memoize 计划返回错误结果的问题

变更

修复 Param 是缓存键的子表达式时 Memoize 计划返回错误结果的问题(Richard Guo)§§

关联记录(4)

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

BUG 修复修复 Gather 下方的 Memoize 计划节点丢失并行工作进程统计信息的问题

变更

修复 Gather 下方的 Memoize 计划节点丢失并行工作进程统计信息的问题(Tatsuya Kawata)§

EXPLAIN ANALYZE 只报告了自上次重新扫描 Gather 以来的统计信息。

关联记录(4)

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

其他改进如果函数定义使用数组或类型修饰符语法指定未知的返回类型名称,则不创建 shell 类型

变更

如果函数定义使用数组或类型修饰符语法指定未知的返回类型名称,则不创建 shell 类型(Heikki Linnakangas)§

此类情况显然是错误,因为在对类型进行任何高级操作之前,应先创建该类型。

关联记录(4)

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

BUG 修复修复快照导出和导入,使其能够正确处理恢复期间取得的快照

变更

修复快照导出和导入,使其能够正确处理恢复期间取得的快照(Peter Geoghegan,Bertrand Drouvot)§

此类快照的数据布局不同,但导出/导入逻辑并不知道这一点,导致导入的快照行为不正确。这不仅会使导入事务返回错误结果,还可能因错误设置提示位而造成持久的数据损坏。

已知在备库上运行并行 pg_dump 会触发此错误。在这种情况下,它可能同时损坏转储输出和备库的数据。

关联记录(4)

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

BUG 修复修复事务快照导入中的原子性问题

变更

修复事务快照导入中的原子性问题(Chee Wooson)§

曾存在一个时间窗口,使其他观察者可能无法看到源事务仍在运行,这可能导致 VACUUM 等作出错误判断。

关联记录(4)

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

BUG 修复修复严格 jsonpath 查询中对普通标量字符串的 GIN 索引搜索

变更

修复严格 jsonpath 查询中对普通标量字符串的 GIN 索引搜索(Rui Zhao)§

对 strict $ == "scalar" 之类的 jsonpath 执行 jsonb_ops 索引扫描时,未能找到值仅为 "scalar" 的表项。

关联记录(4)

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

BUG 修复修复从 jsonpath 查询提取 GIN 索引扫描条件时的错误

变更

修复从 jsonpath 查询提取 GIN 索引扫描条件时的错误(Tom Lane)§

NOT 操作符下方的 AND 操作符可能被错误实现。此外,对字面常量应用方法(例如 "42".double())也未得到正确处理。这些错误不会产生可见的报错,但 GIN 索引搜索会漏掉部分或全部本应匹配的行。

关联记录(4)

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

BUG 修复修复 SP-GiST 四叉树 <@ 搜索中的边界情况错误

变更

修复 SP-GiST 四叉树 <@ 搜索中的边界情况错误(John Naylor)§

由于舍入误差,搜索有时可能不会进入需要搜索的象限,导致查询结果不完整。

关联记录(4)

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

BUG 修复修复 SP-GiST 四叉树索引在边界情况下的失败

变更

修复 SP-GiST 四叉树索引在边界情况下的失败(Ayush Tiwari)§

舍入误差可能使搜索和插入报出“getQuadrant: impossible case”错误。

关联记录(4)

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

其他改进在二进制输入中接受空 tsquery 值

变更

在二进制输入中接受空 tsquery 值(Ayush Tiwari)§

其他位置允许空 tsquery 值,但 tsqueryrecv() 此前会失败。

关联记录(4)

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

其他改进在 tsquery 值的二进制输入中禁止零长度词位和超出范围的短语距离值

变更

在 tsquery 值的二进制输入中禁止零长度词位和超出范围的短语距离值(Tom Lane)§

文本输入中已拒绝这些情况,但 tsqueryrecv() 遗漏了等效检查,因而接受了后续无法转储/重新载入的值。

关联记录(4)

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

其他改进在 tsvector 和 tsquery 中一致地执行最大长度限制

变更

在 tsvector 和 tsquery 中一致地执行最大长度限制(Tom Lane)§

有些位置认为词位最大长度是 MAXSTRLEN(2047),另一些位置则认为是 MAXSTRLEN-1。幸运的是,较宽松的边界才是正确的,因此现在统一使用 MAXSTRLEN。同样,对于数据总长度上限 MAXSTRPOS,有些位置的限制比其他位置更严格。这些修复避免了合法构造的值无法转储/重新载入的情况。

关联记录(4)

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

BUG 修复修复长度参数为 INT_MIN(-2147483648)时的 right()

变更

修复长度参数为 INT_MIN(-2147483648)时的 right()(Ewan Young)§

由于整数溢出,该函数在本应返回空字符串时返回了整个字符串。

关联记录(4)

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

BUG 修复修复 pg_blocking_pids(),使其正确计入关系扩展锁

变更

修复 pg_blocking_pids(),使其正确计入关系扩展锁(Bertrand Drouvot)§

关联记录(4)

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

BUG 修复修复 pg_indexam_progress_phasename() 中混淆 32 位与 64 位的问题

变更

修复 pg_indexam_progress_phasename() 中混淆 32 位与 64 位的问题(Markos Fountoulakis)§

此函数碰巧能在常见硬件上正常工作,但在 32 位或大端平台上可能行为异常。

关联记录(4)

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

其他改进检测 to_char() 使用 V 格式时的整数溢出

变更

检测 to_char() 使用 V 格式时的整数溢出(Andrey Rachitskiy)§

如果数据值为整数,且将其乘以 V 格式所隐含的 10 的幂会导致整数溢出,to_char() 此前会悄然输出错误数字。现在改为抛出整数溢出错误。

关联记录(4)

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

BUG 修复避免计算 tid 值的 BRIN minmax_multi 距离时发生整数溢出

变更

避免计算 tid 值的 BRIN minmax_multi 距离时发生整数溢出(Tomas Vondra)§

很大的 tid 值可能产生负距离,最终使索引效率低下,但并不会实际损坏索引。

关联记录(4)

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

BUG 修复避免计算 numeric 值的 BRIN minmax_multi 距离时溢出,并正确处理 NaN

变更

避免计算 numeric 值的 BRIN minmax_multi 距离时溢出,并正确处理 NaN(Kirill Reshke,Tomas Vondra)§

这些遗漏可能导致报错(阻止索引汇总),或使索引效率低下。

关联记录(4)

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

BUG 修复避免计算 numeric 范围的差值时溢出

变更

避免计算 numeric 范围的差值时溢出(Kirill Reshke)§

在此上下文中,我们希望返回正无穷或负无穷,而不是抛出溢出错误。

关联记录(4)

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

其他改进支持 Hunspell 词缀文件中不在预期位置的 FLAG 行

变更

支持 Hunspell 词缀文件中不在预期位置的 FLAG 行(Ewan Young)§

Hunspell 词缀文件通常将 FLAG 行放在最前面,而我们的实现隐含依赖了这一点。如果它位于某些含义依赖 FLAG 设置的行之后,就会导致崩溃或无法匹配复合词。现在修复逻辑,使 FLAG 行可以位于任意位置。

关联记录(4)

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

BUG 修复修复规则逆解析中的多种错误

变更

修复规则逆解析中的多种错误(Henson Choi)§§§§

在 UPDATE、DELETE 或 MERGE 的目标关系别名前始终输出 AS,避免别名为 set 时产生歧义。同时确保 xml IS DOCUMENT 结构和子查询的左侧参数有充分的括号。还修复了视图 FROM 子句中 AT TIME ZONE 及类似结构的逆解析;这些结构需要用无实际效果的 CAST 包裹。这些错误可能因视图中的语法错误而阻止转储恢复,也可能使重新载入的视图被解析为与此前不同的内容。

关联记录(4)

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

BUG 修复修复多行 INSERT ... VALUES 在目标列下标中含有子 SELECT 时解析器失败的问题

变更

修复多行 INSERT ... VALUES 在目标列下标中含有子 SELECT 时解析器失败的问题(Amit Langote)§

这会导致“unexpected non-SELECT command in SubLink”错误。

关联记录(4)

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

BUG 修复修复 COPY FROM 中遗漏 WHERE 子句预处理的问题

变更

修复 COPY FROM 中遗漏 WHERE 子句预处理的问题(Nathan Bossart)§

这一遗漏会在操作符被取反时导致“cache lookup failed for function 0”错误,也很可能影响其他情况。

关联记录(4)

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

BUG 修复修复与 DROP TABLESPACE 相关的竞态条件

变更

修复与 DROP TABLESPACE 相关的竞态条件(Ayush Tiwari)§

如果 DROP 与尝试向该表空间添加新对象的命令并发执行,最终可能导致系统目录内容不一致。

关联记录(4)

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

其他改进在恢复期间明确拒绝对不记录 WAL 的表的操作

变更

在恢复期间明确拒绝对不记录 WAL 的表的操作(Jim Jones)§§

不记录 WAL 的表在备库上没有数据,因此读取它必须失败。多数操作对此会给出恰当错误,但 COPY ... TO 和 currtid2() 此前会报出内部“could not open file”错误。

关联记录(4)

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

其他改进撤销此前对空闲空间映射持久化的更改

变更

撤销此前对空闲空间映射持久化的更改(Alexander Korotkov)§

事实证明,c06d1a4ba 等提交(包含在 2026 年 5 月的版本中)引入的问题比解决的问题更多。

关联记录(4)

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

BUG 修复当默认事务模式为 SERIALIZABLE READ ONLY DEFERRABLE 时,避免后端进程退出时在临时表清理中挂起

变更

当默认事务模式为 SERIALIZABLE READ ONLY DEFERRABLE 时,避免后端进程退出时在临时表清理中挂起(Andrey Rachitskiy)§

清理会阻塞,直到并发的可串行化事务完成;如果其中一些是预备事务,等待可能无限持续。

关联记录(4)

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

BUG 修复避免描述一个游标已经不存在的 FETCH 语句时崩溃

变更

避免描述一个游标已经不存在的 FETCH 语句时崩溃(Dirkjan Bussink)§

关联记录(4)

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

其他改进持有锁时若请求清理延迟休眠,则不休眠

变更

持有锁时若请求清理延迟休眠,则不休眠(Kevin Rocker,Andrey Borodin,Mostafa)§

同时,将若干已有的延迟调用移到真正可以安全休眠的位置。

关联记录(4)

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

其他改进如果用于检查外键约束的查询计划仍在使用,则不释放它

变更

如果用于检查外键约束的查询计划仍在使用,则不释放它(Lucas Jeffrey,Trakshan Mishra,Amit Langote)§

在刻意构造的情况下可能触发此行为,例如带有执行 DML 的触发器的表上存在自引用的 ON DELETE CASCADE 外键。

关联记录(4)

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

BUG 修复修复 B-树索引中多层页面删除的 WAL 记录

变更

修复 B-树索引中多层页面删除的 WAL 记录(Peter Geoghegan)§

WAL 日志可能包含待删除页面的过时兄弟链接值,在启用 wal_consistency_checking 时引发备库报错。只要没有崩溃,删除动作完成后很快就会修复损坏,因此此错误通常只影响报错信息。

关联记录(4)

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

其他改进确保检查点期间以原子方式写出待处理预备事务的状态文件

变更

确保检查点期间以原子方式写出待处理预备事务的状态文件(Shihao Zhong)§

此前,崩溃可能留下无效的状态文件,导致后续数据库启动失败。

关联记录(4)

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

其他改进不在中止预备事务的中途启动检查点

变更

不在中止预备事务的中途启动检查点(Shihao Zhong)§

崩溃可能使该事务随后被提交,导致状态不一致。

关联记录(4)

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

其他改进不在创建多事务的中途启动检查点

变更

不在创建多事务的中途启动检查点(Shihao Zhong)§

这可以避免随后发生崩溃时可能出现的数据丢失。

关联记录(4)

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

BUG 修复修复被随后中止的子事务更新过的元组可能丢失的问题

变更

修复被随后中止的子事务更新过的元组可能丢失的问题(Shihao Zhong,Michael Paquier)§

表重写(例如 CLUSTER 或 VACUUM FULL)可能将此类元组当作无效元组丢弃。

关联记录(4)

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

其他改进将元组存入元组表槽时不丢失其 tid

变更

将元组存入元组表槽时不丢失其 tid(Virender Singla,Greg Burd)§

某些代码路径忽略了复制 tid 字段,在特殊情况下可能导致数据损坏或查询结果错误。

关联记录(4)

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

其他改进避免将分区索引标记为有效时的竞态条件

变更

避免将分区索引标记为有效时的竞态条件(Andrey Borodin,Kirill Reshke)§

例如,这可能使并行 pg_restore 因过早尝试重建外键约束而失败。

关联记录(4)

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

BUG 修复修复多事务 ID 中对已中止的更新事务的检查

变更

修复多事务 ID 中对已中止的更新事务的检查(Chee Wooson)§

这一编码错误的已知后果包括意外的“new multixact has more than one updating member”错误,以及错误地无法更新行。

关联记录(4)

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

其他改进在桶分裂期间开始的哈希索引扫描可能漏掉某些索引项

变更

在桶分裂期间开始的哈希索引扫描可能漏掉某些索引项(Peter Geoghegan,Amit Kapila)§

关联记录(4)

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

BUG 修复修复 TID 范围扫描中不正确的位置跟踪

变更

修复 TID 范围扫描中不正确的位置跟踪(Ewan Young,David Rowley)§

先向后提取再向前提取的操作序列,可能无法一直扫描到范围末尾。

关联记录(4)

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

其他改进避免在基础备份中读取 pg_control 文件可能发生撕裂的副本

变更

避免在基础备份中读取 pg_control 文件可能发生撕裂的副本(David Steele)§§§

对该文件的并发写入可能导致备份包含不一致的数据。

关联记录(3)

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

其他改进防止在基础备份中错误地复制非关系文件

变更

防止在基础备份中错误地复制非关系文件(David Steele)§

postgresql.auto.conf 等经常通过原子重命名替换的文件,在备份与这种替换并发进行时,可能在备份中被截断或填充零。

关联记录(3)

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

其他改进确保基础备份报告仅影响单个页面的校验和失败

变更

确保基础备份报告仅影响单个页面的校验和失败(Zsolt Parragi)§

由于逻辑错误,只有同一文件中不止一个页面损坏时,pg_stat_database 才会累计校验和失败。

关联记录(4)

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

其他改进在为 output_plugin_libraries 参数赋值时验证其语法

变更

在为 output_plugin_libraries 参数赋值时验证其语法(Jacob Champion,Hayato Kuroda)§

此前,语法错误的值可以写入 postgresql.conf,导致逻辑复制失败。

关联记录(4)

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

其他改进避免复制槽失效期间错误更新后端状态标志

变更

避免复制槽失效期间错误更新后端状态标志(Vlad Lesin)§

检查点进程等辅助进程执行失效操作时,可能破坏一个无关后端进程的状态字段。后果难以预测,但一种可能性是热备反馈实际上被禁用。

关联记录(4)

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

其他改进在逻辑复制中更好地处理子事务中止

变更

在逻辑复制中更好地处理子事务中止(Bingshuai Li,Hayato Kuroda,Zhijie Hou)§

如果一个更新了系统目录的子事务中止,逻辑解码仍错误地认为该更新有效,可能产生不正确的解码输出。

关联记录(4)

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

其他改进避免构建初始解码快照时的竞态条件

变更

避免构建初始解码快照时的竞态条件(Antonin Houska,Rui Zhao)§

使用包含已提交但尚未设置 CLOG 状态的事务的快照,存在较小的数据损坏风险。

关联记录(4)

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

BUG 修复避免 pgoutput 逻辑复制发送器因复制选项缺少值而发生空指针崩溃

变更

避免 pgoutput 逻辑复制发送器因复制选项缺少值而发生空指针崩溃(Zhijie Hou)§

关联记录(4)

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

BUG 修复修复 pgoutput 处理流式传输的预备事务时的少量内存泄漏

变更

修复 pgoutput 处理流式传输的预备事务时的少量内存泄漏(Ayush Tiwari)§

关联记录(3)

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

BUG 修复修复 WAL 接收器跟随时间线切换时重复创建临时复制槽的问题

变更

修复 WAL 接收器跟随时间线切换时重复创建临时复制槽的问题(ChangAo Chen)§

这一错误会先引发“could not create replication slot”错误,随后 WAL 接收器重启并恢复,因此不会造成永久损害。

关联记录(4)

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

BUG 修复修复 WAL 解码错误消息中不正确的 LSN

变更

修复 WAL 解码错误消息中不正确的 LSN(Rahul Yadav)§

这些错误消息所报告的 LSN,对应的并不是实际引发报错的那条 WAL 记录。

关联记录(3)

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

BUG 修复修复 WAL 发送器中可能出现的释放后使用内存问题

变更

修复 WAL 发送器中可能出现的释放后使用内存问题(Ayush Tiwari)§

关联记录(4)

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

其他改进避免 jsonb_set_lax() 中释放后使用内存的问题

变更

避免 jsonb_set_lax() 中释放后使用内存的问题(John Naylor)§

关联记录(4)

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

BUG 修复修复并发删除模式时可能发生的空指针解引用

变更

修复并发删除模式时可能发生的空指针解引用(Baji Shaik)§

关联记录(4)

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

BUG 修复修复为表达式构建扩展统计信息时可能发生的空指针解引用

变更

修复为表达式构建扩展统计信息时可能发生的空指针解引用(Shihao Zhong,Michael Paquier)§

只有自定义 typanalyze 函数表现出意外(但合法)的行为时,才可能触发此错误。

关联记录(4)

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

BUG 修复修复 pg_locks.waitstart 的值可能过时的问题

变更

修复 pg_locks.waitstart 的值可能过时的问题(Shihao Zhong)§

关联记录(4)

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

其他改进增强 pgstats 代码对仅部分完成的本地 pgstats 表项的防护

变更

增强 pgstats 代码对仅部分完成的本地 pgstats 表项的防护(Michael Paquier)§

关联记录(3)

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

BUG 修复修复复用的 pgstats 表项的清理

变更

修复复用的 pgstats 表项的清理(Michael Paquier)§

此错误导致 pgstats 表项泄漏,可能在后端进程退出或数据库关闭时引发错误。

关联记录(3)

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

BUG 修复修复未释放 WAL 读取器关联的全部数据所导致的内存泄漏

变更

修复未释放 WAL 读取器关联的全部数据所导致的内存泄漏(Tomás Senart)§

在许多情况下,这一遗漏影响不大,因为其所在内存上下文很快就会被重置或删除。但某些情况下可能导致长期的内存膨胀,尤其是在检查点进程中。

关联记录(3)

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

其他改进避免跨许多列计算 ndistinct 扩展统计信息时的内存膨胀

变更

避免跨许多列计算 ndistinct 扩展统计信息时的内存膨胀(Ilia Evdokimov)§

关联记录(4)

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

BUG 修复修复哈希索引桶分裂清理失败后缓冲区钉住计数泄漏的问题

变更

修复哈希索引桶分裂清理失败后缓冲区钉住计数泄漏的问题(Peter Geoghegan)§

这一编码错误的后果仅限于资源泄漏警告。

关联记录(4)

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

其他改进确保为 AFTER 触发器打开的所有关系都被重新关闭

变更

确保为 AFTER 触发器打开的所有关系都被重新关闭(Hayato Kuroda,David Rowley)§

这一遗漏会触发“resource was not closed”警告,但不会造成更严重的后果。

关联记录(3)

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

BUG 修复修复 PL/pgSQL 对 anycompatiblemultirange 参数和结果的处理

变更

修复 PL/pgSQL 对 anycompatiblemultirange 参数和结果的处理(Jeevan Chalke)§

PL/pgSQL 的多态类型识别中未加入此类型,导致尝试创建或使用以该类型声明的函数时报错。

关联记录(4)

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

其他改进增强 PL/Perl 和相关 contrib 模块对“绑定”的 Perl 哈希与数组的防护

变更

增强 PL/Perl 和相关 contrib 模块对“绑定”的 Perl 哈希与数组的防护(Tom Lane)§§

依靠 av_count() 判断 Perl 数组长度,而不是查找空指针;另一方面,更谨慎地处理从数组和哈希提取值时意外出现的空值指针。目前只知道这些情况会在“绑定”对象中发生。

关联记录(4)

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

安全相关确保 psql 统计多查询命令字符串中出现的所有 COPY FROM STDIN 命令

变更

确保 psql 统计多查询命令字符串中出现的所有 COPY FROM STDIN 命令(Zsolt Parragi)§

修复 CVE-2026-6464 后,psql 会拒绝同一字符串中出现的多个 COPY FROM STDIN 命令,因为它没有预期会发生多次 COPY 操作。

关联记录(4)

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

其他改进改善 psql 在处理反斜杠命令时对内存耗尽的应对

变更

改善 psql 在处理反斜杠命令时对内存耗尽的应对(Fujii Masao)§§

关联记录(4)

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

BUG 修复修复 psql 中少量内存泄漏

变更

修复 psql 中少量内存泄漏(Fujii Masao)§

关联记录(4)

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

其他改进使 pg_dump 转储用于支持约束的索引的列统计目标

变更

使 pg_dump 转储用于支持约束的索引的列统计目标(Zsolt Parragi)§

此前,pg_dump 会在普通索引需要时输出 ALTER INDEX ... SET STATISTICS 命令,但不会为通过表达式上的 EXCLUDE 约束创建的索引这样做。

关联记录(4)

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

其他改进在 pg_dump 的 tar 格式输出中,不向 restore.sql tar 成员写入无效的 \restrict/\unrestrict 命令

变更

在 pg_dump 的 tar 格式输出中,不向 restore.sql tar 成员写入无效的 \restrict/\unrestrict 命令(Pavel Kopylov)§

关联记录(4)

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

BUG 修复修复 contrib/pg_trgm GiST 索引可能损坏的问题

变更

修复 contrib/pg_trgm GiST 索引可能损坏的问题(Nate Clark)§

合并索引项时可能丢失用于标识其格式的标志,从而使后续索引搜索漏掉匹配行。

此修复不会修复已有索引。用户应在更新后对已有的 gist_trgm_ops 索引执行 REINDEX。

关联记录(4)

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

BUG 修复修复 Windows 上设置计时器时的错误检查

变更

修复 Windows 上设置计时器时的错误检查(Sehrope Sarkuni)§

未能检测到创建超时管理线程失败,导致后续超时请求悄然失效。

关联记录(4)

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

其他改进在 AArch64 上的 TAS_SPIN 中使用不加锁的初始测试

变更

在 AArch64 上的 TAS_SPIN 中使用不加锁的初始测试(Nathan Bossart)§

这项代码更改已被证明能提高多核 AArch64 机器的性能,同时不会损害核心数较少的机器的性能;此外,它还避免了较新 Linux 内核带来的性能回归。

关联记录(2)

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

其他改进将时区数据文件更新至 tzdata 2026f 版本

变更

将时区数据文件更新至 tzdata 2026f 版本(Tom Lane)§§§

加拿大西北地区从 2026 年 11 月起全年采用 UTC-06(实际上是永久夏令时)。这仅影响 America/Inuvik,因为该地区其他部分由 America/Edmonton 覆盖,后者的相应更改已在 2026c 中发布。同样,曼尼托巴省(America/Winnipeg)改为全年采用 UTC-05。目前假定其时区缩写分别为 CST 和 EST。

古巴没有在 2026-11-01 将时钟拨回;今年冬季将继续采用夏令时(但似乎计划明年恢复正常)。

用于向后兼容的时区名称 EST5EDT、CST6CDT、MST7MDT 和 PST8PDT 对旧时间戳的行为现在更加简单。它们会无限向前追溯地使用名称所指示的 UTC 偏移量和时区缩写,不再混入相应城市命名时区的部分历史行为。这更符合 POSIX。

修正了巴西、哥伦比亚、伊朗和爱尔兰的历史时区数据。

在 Windows 上,initdb 现在能够识别 Microsoft 为更新后的加拿大时区制定的新时区名称。

关联记录(4)

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

这份对比如何生成?

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

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

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

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

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