Index corrompus dans PG12, comment les réparer ?

Si un REINDEX concurrent échoue car la table contient des données invalides, vous devez :

  1. Corriger les données invalides, comme cela a été fait ici.

  2. Lister les index invalides en utilisant SELECT pg_class.relname FROM pg_class, pg_index WHERE pg_index.indisvalid = false AND pg_index.indexrelid = pg_class.oid;

  3. Supprimer chaque index invalide listé ci-dessus en utilisant DROP INDEX <nom_index>;

  4. Réessayer le REINDEX.