发布日期:. 2022-06-16
本次发布包含来自 14.3 的多项修复。 有关 14 主版本新特性的说明,请参见 Section E.23。
对于运行 14.X 的用户,不需要执行导出/恢复。
但是,如果存在在 14.X 下使用 CONCURRENTLY 选项创建的索引, 建议在更新后重建这些索引。 请参见下面的第一个变更日志条目。
此外,如果是从早于 14.3 的版本升级,请参见 Section E.20。
防止使用 CONCURRENTLY 选项创建或重建的索引可能出现的损坏 (Álvaro Herrera) §
v14 中增加的一项优化导致 CREATE INDEX ... CONCURRENTLY 和 REINDEX ... CONCURRENTLY 有时会遗漏在索引构建期间被更新的行。 该优化已被回退。 建议在安装此更新后重建所有使用 CONCURRENTLY 选项创建的索引。 (或者,也可以不使用 CONCURRENTLY 选项来重建它们。)
加固 Memoize 计划节点以应对非确定性的相等函数(David Rowley) §
如果数据类型的相等或哈希函数在不同调用之间给出不一致的结果,Memoize 可能会崩溃。 现在改为抛出运行时错误。
修复 Memoize 计划的不正确代价估算(David Rowley) §
这一错误可能导致在 Memoize 并非最佳计划时仍然使用它,或者因为为 Memoize 节点初始化过大的哈希表而导致执行器启动时间过长。
修复当“整行变量”引用返回复合类型域的函数结果时的查询问题 (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) §
如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。