The PostgreSQL Global Development Group will be releasing an update to 
PostgreSQL 14 on June 16, 2022. This release fixes an issue with all versions 
of PostgreSQL 14 that can lead to silent corruption of indexes.

Since the release of PostgreSQL 14.0, there existed an issue with [`CREATE 
INDEX 
CONCURRENTLY`](https://www.postgresql.org/docs/current/sql-createindex.html) 
and [`REINDEX 
CONCURRENTLY`](https://www.postgresql.org/docs/current/sql-reindex.html) that 
could cause silent data corruption in indexes. This issue is fixed in the 
upcoming PostgreSQL 14.4 release.

If you ran either of these commands on any version of PostgreSQL 14 prior to 
14.4, you may have experienced silent data corruption. You can use the 
[`pg_amcheck`](https://www.postgresql.org/docs/current/app-pgamcheck.html) 
command with the `--heapallindexed` flag to detect this issue with B-tree 
indexes.

If you need an immediate remediation for this issue before the PostgreSQL 14.4 
release, you can run `CREATE INDEX` or `REINDEX` **without** `CONCURRENTLY`. 
You can also run the 
[`reindexdb`](https://www.postgresql.org/docs/current/app-reindexdb.html) 
command and use the `--jobs` flag for added parallelism, but **do not use** the 
`--concurrently` flag.

Once PostgreSQL 14.4 is released, you can safely use `CREATE INDEX 
CONCURRENTLY` and `REINDEX CONCURRENTLY` to manage your indexes, as well as the 
`--concurrently` flag on `reindexdb`.

If you have additional questions, you can talk to members of the PostgreSQL 
community through one of the [support](https://www.postgresql.org/support/) 
channels.

Reply via email to