文档版本比较
POSTGRESQL · VERSION COMPARE
PostgreSQL 14.4 发布变化
此版本的完整功能、修复与兼容性说明,以及其他版本的关联记录。
包括起始版本之后至目标版本的变化。大版本号表示该分支的首个版本。
从数据库输出识别起始版本
完整发布变化
14.4
2022-06-16
14.4stable支持截止 2026-11-12
PostgreSQL 14.4
迁移与兼容性
对于运行 14.X 的用户,不需要执行导出/恢复。
但是,如果存在在 14.X 下使用 CONCURRENTLY 选项创建的索引,建议在更新后重建这些索引。请参见下面的第一个变更日志条目。
此外,如果是从早于 14.3 的版本升级,请参见第 E.22 节。
问题修复防止使用 CONCURRENTLY 选项创建或重建的索引可能出现的损坏
变更
防止使用 CONCURRENTLY 选项创建或重建的索引可能出现的损坏(Álvaro Herrera)§
v14 中增加的一项优化导致 CREATE INDEX ... CONCURRENTLY 和 REINDEX ... CONCURRENTLY 有时会遗漏在索引构建期间被更新的行。该优化已被回退。建议在安装此更新后重建所有使用 CONCURRENTLY 选项创建的索引。(或者,也可以不使用 CONCURRENTLY 选项来重建它们。)
改进加固 Memoize 计划节点以应对非确定性的相等函数
变更
加固 Memoize 计划节点以应对非确定性的相等函数(David Rowley)§
如果数据类型的相等或 hash 函数在不同调用之间给出不一致的结果,Memoize 可能会崩溃。现在改为抛出运行时错误。
问题修复修复 Memoize 计划的不正确代价估算
变更
修复 Memoize 计划的不正确代价估算(David Rowley)§
这一错误可能导致在 Memoize 并非最佳计划时仍然使用它,或者因为为 Memoize 节点初始化过大的 hash 表而导致执行器启动时间过长。
问题修复修复当“整行变量”引用返回复合类型域的函数结果时的查询问题
变更
修复当“整行变量”引用返回复合类型域的函数结果时的查询问题(Tom Lane)§
问题修复修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误
变更
修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误(Richard Guo)§
关联记录 (4)
- 相同变化PostgreSQL 13.8 · 修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误
- 相同变化PostgreSQL 12.12 · 修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误
- 相同变化PostgreSQL 11.17 · 修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误
- 相同变化PostgreSQL 10.22 · 修复在提升引用了 GROUPING 函数的子 SELECT 时出现的 “variable not found in subplan target list” 规划器错误
改进防止 pg_stat_get_subscription() 可能返回包含垃圾值的额外行
变更
防止 pg_stat_get_subscription() 可能返回包含垃圾值的额外行(Kuntal Ghosh)§
问题修复修复当数据库编码为 SQL_ASCII 而客户端编码为多字节编码时 COPY FROM 的错误检查
变更
修复当数据库编码为 SQL_ASCII 而客户端编码为多字节编码时 COPY FROM 的错误检查(Heikki Linnakangas)§
这一错误可能导致对有效输入数据发出错误的无效编码投诉。
问题修复避免在 XMLTABLE 或 JSON_TABLE 结构上附加了过多列别名时崩溃
变更
改进在反编译视图或规则时,如果 SELECT 输出列的 AS "?column?" 别名子句可能在其他地方被引用,则显示它
变更
在反编译视图或规则时,如果 SELECT 输出列的 AS "?column?" 别名子句可能在其他地方被引用,则显示它(Tom Lane)§
之前,这个自动生成的别名总是被隐藏的;但在某些边界情况下,这样做会导致视图或规则定义无法恢复。
关联记录 (4)
- 相同变化PostgreSQL 13.8 · 在反编译视图或规则时,如果 SELECT 输出列的 AS "?column?" 别名子句可能在其他地方被引用,则显示它
- 相同变化PostgreSQL 12.12 · 在反编译视图或规则时,如果 SELECT 输出列的 AS "?column?" 别名子句可能在其他地方被引用,则显示它
- 相同变化PostgreSQL 11.17 · 在反编译视图或规则时,如果 SELECT 输出列的 AS "?column?" 别名子句可能在其他地方被引用,则显示它
- 相同变化PostgreSQL 10.22 · 在反编译视图或规则时,如果 SELECT 输出列的 AS "?column?" 别名子句可能在其他地方被引用,则显示它
改进向事件触发器报告隐式创建的操作符族
变更
向事件触发器报告隐式创建的操作符族(Masahiko Sawada)§
如果 CREATE OPERATOR CLASS 导致隐式创建了一个操作符族,该对象不会被报告给应当捕获此类事件的事件触发器。
问题修复修复在备库提升期间有重启点正在运行时的控制文件更新
变更
修复在备库提升期间有重启点正在运行时的控制文件更新(Kyotaro Horiguchi)§
之前,当重启点完成时,它可能会错误地更新控制文件中的最后检查点字段,如果服务器在下一次正常检查点完成之前崩溃,可能导致 PANIC 和重启失败。
改进防止在逻辑复制大事务期间触发备库的 wal_receiver_timeout
变更
防止在逻辑复制大事务期间触发备库的 wal_receiver_timeout(Wang Wei,Amit Kapila)§
如果主库上的一个大事务没有向备库发送数据(可能是因为它修改的表都没有被发布),备库可能会超时。通过确保在这种情况下定期发送保活消息来修复此问题。
问题修复防止在读取无效时区缩写文件时发生打开文件泄漏
变更
防止在读取无效时区缩写文件时发生打开文件泄漏(Kyotaro Horiguchi)§
这种情况可能导致无害的警告消息。
改进允许自定义服务器参数具有为 NULL 的简短描述
变更
允许自定义服务器参数具有为 NULL 的简短描述(Steve Chavez)§
之前,虽然扩展可以选择创建这样的设置,但某些代码路径在处理它们时会崩溃。
改进移除 libpq 中不恰当的 SSL 密钥文件所有权检查
变更
移除 libpq 中不恰当的 SSL 密钥文件所有权检查(Tom Lane)§
在之前的小版本中,我们将服务器对 SSL 私钥文件的权限检查规则复制到了 libpq 中。但我们不应该同时复制服务器的文件所有权检查。虽然在正常使用场景下这没有问题,但对于以 root 身份运行的客户端可能会导致意外的失败,在其他情况下也可能如此。
改进确保 ecpg 合理地报告服务器连接丢失
变更
确保 ecpg 合理地报告服务器连接丢失(Tom Lane)§
对 libpq 生成的错误结果(例如连接丢失报告)的错误处理,会导致打印 “(null)” 而非有用的错误消息;在更早的版本中则会导致崩溃。
问题修复防止 pg_amcheck 在服务器连接丢失后崩溃
变更
防止 pg_amcheck 在服务器连接丢失后崩溃(Tom Lane)§
对 libpq 生成的错误结果(例如连接丢失报告)的错误处理,会导致崩溃。
改进调整 PL/Perl 测试用例使其能在 Perl 5.36 下工作
变更
调整 PL/Perl 测试用例使其能在 Perl 5.36 下工作(Dagfinn Ilmari Mannsåker)§
改进避免在构建 PostgreSQL 时,当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库
变更
避免在构建 PostgreSQL 时,当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库(Tom Lane)§
关联记录 (4)
- 相同变化PostgreSQL 13.8 · 避免在构建 PostgreSQL 时,当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库
- 相同变化PostgreSQL 12.12 · 避免在构建 PostgreSQL 时,当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库
- 相同变化PostgreSQL 11.17 · 避免在构建 PostgreSQL 时,当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库
- 相同变化PostgreSQL 10.22 · 避免在构建 PostgreSQL 时,当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库
没有匹配的变化
尝试其他关键词,或 .
如何生成比较结果?
比较依据起始版本之后至目标版本的 PostgreSQL 发布说明。经核实的回补重复项会谨慎合并,保留每条原始说明;相关提交可能涉及独立变化,仍作为不同记录保留。
发布快照: 2026-09-26 · 安全快照: 2026-09-26
内容来自 PostgreSQL 发布说明。交互方式参考 pgversions.com 与 pgversionreport.