国际新闻:PostgreSQL 14.4 发布!

发布时间:2023-07-09 13:30

Posted on 2022-06-16 by PostgreSQL Global Development Group

01  PostgreSQL 项目

PostgreSQL全球开发组已发布 PostgreSQL 14,以修复在使用CREATE INDEX CONCURRENTLYREINDEX CONCURRENTLY命令时可能导致无提示索引数据损坏的问题 。有关如何检测和纠正索引中的无提示数据损坏的信息,请参阅以下部分。

自 PostgreSQL 14.3 于 5 月发布以来,此版本还修复了超过 15 个错误。有关更改的完整列表,请查看 发行说明。

此版本仅适用于 PostgreSQL 14。PostgreSQL 全球开发组将在 2022 年 8 月 11 日为所有受支持的 PostgreSQL 版本(10 - 14)发布计划的更新版本。

检测并修复“CREATE INDEX CONCURRENTLY”/“REINDEX CONCURRENTLY”损坏

PostgreSQL 14.4 修复了一个在使用 CREATE INDEX CONCURRENTLYREINDEX CONCURRENTLY命令时可能导致的无提示索引数据损坏的问题。在修复之前, CREATE INDEX CONCURRENTLYREINDEX CONCURRENTLY可能会构建缺少条目的索引,从而导致SELECT使用该索引的查询找不到某些行。此问题可能没有损坏您的索引,但如果您不确定,我们建议您使用以下说明重建索引。

您可以使用带有--heapallindexed 标志的pg_amcheck 命令检测 B 树索引(默认索引类型)是否存在数据损坏。例如:

pg_amcheck --heapallindexed database

如果pg_amcheck检测到损坏或者如果您在任何其他索引类型(例如 GiST、GIN 等)上运行 CREATE INDEX CONCURRENTLY 或REINDEX CONCURRENTLY,请按照以下说明进行操作。

将系统升级到 PostgreSQL 14.4 后,您可以使用 REINDEX CONCURRENTLY。例如,如果您有一个名为 elephant_idx的索引存在数据损坏,您可以在 PostgreSQL 14.4 上运行以下命令来修复它:

REINDEX CONCURRENTLY elephant_idx;

您可以使用该 reindexdb命令重建集群中的所有索引。reindexdb 还有--jobs标志,可并行运行重建索引操作。例如,要使用并行作业重新索引整个 PostgreSQL 集群,您可以运行以下命令:

reindexdb --all --concurrently --jobs

02  错误修复和改进

此更新修复了过去几个月报告的超过15个错误。下面列出的问题会影响 PostgreSQL 14。
包含在此版本中:
① 查询计划记忆的几个修复。
② 修复“整行变量”引用复合类型上返回域的函数结果的查询。
③ SELECT使用函数中引用的子修复“子计划目标列表中未找到变量”计划错误GROUPING。
④ 修复了“在subplan目标列表中找不到变量”的规划器错误,使用了分组函数中引用的子查询。
⑤ 修复使用命令 COPY FROM时,当数据库编码是SQL_ASCII但客户端编码是多字节编码时的错误检查。
⑥ 将隐式创建的运算符族(由CREATE OPERATOR CLASS生成 )报告给事件触发器。
⑦ wal_receiver_timeout防止在大型事务的逻辑复制期间触发备用数据库。
⑧ 删除libpq 中不正确的TLS 私钥文件所有权检查。
⑨ 防止在 pg_amcheck 中服务器连接丢失后崩溃。
有关可用更改的完整列表,请查看 发行说明

03  更新

所有 PostgreSQL 更新版本都是累积的。与其他次要版本一样,用户无需转储和重新加载其数据库,使用pg_upgrade即可应用此更新版本;您可以简单地关闭 PostgreSQL 并更新其二进制文件。
但是,如果您在PostgreSQL14上运行 CREATE INDEX CONCURRENTLY REINDEX CONCURRENTLY您可能需要采取额外的步骤。请查看“检测和修复CREATE INDEX CONCURRENTLY/REINDEX CONCURRENTLY 损坏”部分了解更多详细信息。
跳过一个或多个更新版本的用户可能需要运行额外的更新后步骤;有关详细信息,请参阅早期版本的发行说明。
有关详细信息,请参阅 发行说明

04  PostgreSQL 10 停产通知

PostgreSQL 10 将于 2022 年 11 月 10 日停止接收修复。如果您在生产环境中运行 PostgreSQL 10,我们建议您计划升级到受支持的更新版本 PostgreSQL。请参阅我们的版本控制政策以获取更多信息。

国际新闻:PostgreSQL 14.4 发布!_第1张图片

国际新闻:PostgreSQL 14.4 发布!_第2张图片

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号