On Wed, Nov 10, 2021 at 11:07 AM Jonathan S. Katz <jkatz@postgresql.org> wrote:
> > * Fix causes of `CREATE INDEX CONCURRENTLY` and `REINDEX CONCURRENTLY` writing
> > corrupt indexes. You should reindex any concurrently-built indexes.
>
> Done.
As far as I know (correct me if I'm mistaken), all of the CIC/RC bugs
are detectable using amcheck's heapallindexed verification feature.
Why not say as much? Lots of people create lots of indexes with CIC,
and so giving more actionable advice seems worthwhile.
(Unfortunately the same cannot really be said for the 14-only bug in
parallel VACUUM. Seeing what amcheck (or pg_amcheck) have to say is
certainly better than assuming all indexes are corrupt (when they
might have been manually VACUUMed), but it's not the same situation. I
don't think that it's all that unlikely that the B-Tree verification
stuff would miss real problems, since even heapallindexed only notices
the absence of needed index tuples. Whereas the VACUUM bug is mostly
(but not entirely) characterized by the *presence* of "extra", corrupt
index tuples -- tuples that VACUUM should have already removed, but
didn't.
--
Peter Geoghegan