PostgreSQL 全球开发小组将于 2022 年 6 月 16 日发布 PostgreSQL 14 的更新。此版本修复了所有 PostgreSQL 14 版本中存在的一个问题,该问题可能导致索引的静默损坏。
自从 PostgreSQL 14.0 发布以来,CREATE INDEX CONCURRENTLY
和 REINDEX CONCURRENTLY
存在一个问题,可能会导致索引中的静默数据损坏。此问题将在即将发布的 PostgreSQL 14.4 版本中得到修复。
如果您在 PostgreSQL 14.4 之前的任何 PostgreSQL 14 版本上运行过这些命令,您可能遇到了静默数据损坏。您可以使用带有 --heapallindexed
标志的 pg_amcheck
命令来检测 B 树索引的此问题。
如果您需要在 PostgreSQL 14.4 版本发布之前立即解决此问题,您可以运行不带 CONCURRENTLY
的 CREATE INDEX
或 REINDEX
。 您还可以运行 reindexdb
命令并使用 --jobs
标志来增加并行性,但不要使用 --concurrently
标志。
一旦 PostgreSQL 14.4 发布,您就可以安全地使用 CREATE INDEX CONCURRENTLY
和 REINDEX CONCURRENTLY
来管理您的索引,以及 reindexdb
上的 --concurrently
标志。
如果您有其他问题,可以通过支持渠道之一与 PostgreSQL 社区的成员交谈。