PG12 中索引损坏,如何修复?

如果并发 REINDEX 因表包含无效数据而失败,您需要执行以下操作:

  1. 修复无效数据,方法可参考 此处

  2. 使用以下语句列出无效索引:SELECT pg_class.relname FROM pg_class, pg_index WHERE pg_index.indisvalid = false AND pg_index.indexrelid = pg_class.oid;

  3. 使用 DROP INDEX <indexname>; 删除上述列出的每个无效索引。

  4. 再次尝试执行 REINDEX