Если параллельная операция REINDEX завершается неудачей из-за некорректных данных в таблице, необходимо:
-
Исправить некорректные данные, как это было сделано здесь.
-
Получить список некорректных индексов с помощью запроса
SELECT pg_class.relname FROM pg_class, pg_index WHERE pg_index.indisvalid = false AND pg_index.indexrelid = pg_class.oid; -
Удалить каждый некорректный индекс из полученного списка с помощью команды
DROP INDEX <indexname>; -
Повторить попытку выполнения
REINDEX.