DBAtlas · Атлас эксплуатации баз данных

XX002: index_corrupted

PostgreSQL

Что это значит?

Обнаружено повреждение структуры индекса. Поскольку данные, на которые указывает индекс, не согласуются с фактическими строками в heap, запросы, использующие индекс, могут возвращать неверные результаты или завершаться ошибкой.

Почему возникает?

Отказ оборудования/хранилища, нарушение порядка в B-дереве из-за изменения правил сортировки (collation) после обновления glibc/ICU операционной системы, либо внезапный сбой. Особенно обновления collation операционной системы вызывают незаметное повреждение текстовых индексов.

Как исправить

Перестройте повреждённый индекс: REINDEX INDEX idx_name; или REINDEX TABLE my_table; На больших таблицах используйте REINDEX INDEX CONCURRENTLY, чтобы уменьшить блокировки. Если причина в collation, перестройте все затронутые текстовые индексы и проверьте их с помощью расширения amcheck (bt_index_check). Если первопричина в оборудовании, замените хранилище.

Открыть в DBAtlas →

Ещё по этой СУБД