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)§这一错误可能导致对有效输入数据发出错误的无效编码投诉。
在反编译视图或规则时,如果
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 文档反馈表单.