↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 14

E.21. 发布版本 14.4 #

发布日期:. 2022-06-16

本次发布包含来自 14.3 的多项修复。有关 14 主版本新特性的说明,请参见第 E.25 节。

E.21.1. 迁移到版本 14.4 #

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

但是,如果存在在 14.X 下使用 CONCURRENTLY 选项创建的索引,建议在更新后重建这些索引。请参见下面的第一个变更日志条目。

此外,如果是从早于 14.3 的版本升级,请参见第 E.22 节。

E.21.2. 变更 #

  • 防止使用 CONCURRENTLY 选项创建或重建的索引可能出现的损坏(Álvaro Herrera)§

    v14 中增加的一项优化导致 CREATE INDEX ... CONCURRENTLY 和 REINDEX ... CONCURRENTLY 有时会遗漏在索引构建期间被更新的行。该优化已被回退。建议在安装此更新后重建所有使用 CONCURRENTLY 选项创建的索引。(或者,也可以不使用 CONCURRENTLY 选项来重建它们。)

  • 加固 Memoize 计划节点以应对非确定性的相等函数(David Rowley)§

    如果数据类型的相等或 hash 函数在不同调用之间给出不一致的结果,Memoize 可能会崩溃。现在改为抛出运行时错误。

  • 修复 Memoize 计划的不正确代价估算(David Rowley)§

    这一错误可能导致在 Memoize 并非最佳计划时仍然使用它,或者因为为 Memoize 节点初始化过大的 hash 表而导致执行器启动时间过长。

  • 修复当“整行变量”引用返回复合类型域的函数结果时的查询问题(Tom Lane)§

  • 修复在提升引用了 GROUPING 函数的子 SELECT 时出现的“variable not found in subplan target list”规划器错误(Richard Guo)§

  • 防止 pg_stat_get_subscription() 可能返回包含垃圾值的额外行(Kuntal Ghosh)§

  • 修复当数据库编码为 SQL_ASCII 而客户端编码为多字节编码时 COPY FROM 的错误检查(Heikki Linnakangas)§

    这一错误可能导致对有效输入数据发出错误的无效编码投诉。

  • 避免在 XMLTABLE 或 JSON_TABLE 结构上附加了过多列别名时崩溃(Álvaro Herrera)§ §

  • 在反编译视图或规则时,如果 SELECT 输出列的 AS "?column?" 别名子句可能在其他地方被引用,则显示它(Tom Lane)§

    之前,这个自动生成的别名总是被隐藏的;但在某些边界情况下,这样做会导致视图或规则定义无法恢复。

  • 向事件触发器报告隐式创建的操作符族(Masahiko Sawada)§

    如果 CREATE OPERATOR CLASS 导致隐式创建了一个操作符族,该对象不会被报告给应当捕获此类事件的事件触发器。

  • 修复在备库提升期间有重启点正在运行时的控制文件更新(Kyotaro Horiguchi)§

    之前,当重启点完成时,它可能会错误地更新控制文件中的最后检查点字段,如果服务器在下一次正常检查点完成之前崩溃,可能导致 PANIC 和重启失败。

  • 防止在逻辑复制大事务期间触发备库的 wal_receiver_timeout(Wang Wei,Amit Kapila)§

    如果主库上的一个大事务没有向备库发送数据(可能是因为它修改的表都没有被发布),备库可能会超时。通过确保在这种情况下定期发送保活消息来修复此问题。

  • 防止在读取无效时区缩写文件时发生打开文件泄漏(Kyotaro Horiguchi)§

    这种情况可能导致无害的警告消息。

  • 允许自定义服务器参数具有为 NULL 的简短描述(Steve Chavez)§

    之前,虽然扩展可以选择创建这样的设置,但某些代码路径在处理它们时会崩溃。

  • 移除 libpq 中不恰当的 SSL 密钥文件所有权检查(Tom Lane)§

    在之前的小版本中,我们将服务器对 SSL 私钥文件的权限检查规则复制到了 libpq 中。但我们不应该同时复制服务器的文件所有权检查。虽然在正常使用场景下这没有问题,但对于以 root 身份运行的客户端可能会导致意外的失败,在其他情况下也可能如此。

  • 确保 ecpg 合理地报告服务器连接丢失(Tom Lane)§

    对 libpq 生成的错误结果(例如连接丢失报告)的错误处理,会导致打印“(null)”而非有用的错误消息;在更早的版本中则会导致崩溃。

  • 防止 pg_amcheck 在服务器连接丢失后崩溃(Tom Lane)§

    对 libpq 生成的错误结果(例如连接丢失报告)的错误处理,会导致崩溃。

  • 调整 PL/Perl 测试用例使其能在 Perl 5.36 下工作(Dagfinn Ilmari Mannsåker)§

  • 避免在构建 PostgreSQL 时,当存在多个 OpenLDAP 安装时错误地使用过时的 libldap_r 库(Tom Lane)§

报告文档问题

阅读 上游文档. 通过 PostgreSQL 文档反馈表单.