国际新闻:PostgreSQL 14.4 发布!
Posted PostgreSQLChina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了国际新闻:PostgreSQL 14.4 发布!相关的知识,希望对你有一定的参考价值。
Posted on 2022-06-16 by PostgreSQL Global Development Group
01 PostgreSQL 项目
PostgreSQL全球开发组已发布 PostgreSQL 14,以修复在使用CREATE INDEX CONCURRENTLY或REINDEX 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 CONCURRENTLY 和 REINDEX CONCURRENTLY命令时可能导致的无提示索引数据损坏的问题。在修复之前, CREATE INDEX CONCURRENTLY 和 REINDEX 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标志,可并行运行重建索引操作。例如,要使用<N>并行作业重新索引整个 PostgreSQL 集群,您可以运行以下命令:
reindexdb --all --concurrently --jobs <N>
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 发布!的主要内容,如果未能解决你的问题,请参考以下文章
国际新闻|PostgreSQL 14.313.712.1111.16 和 10.21 发布
国际新闻|PostgreSQL持续强势上涨,榜前十位同比涨幅第一
国际新闻|Citus 11 for Postgres 完全开源,可从任何节点查询