Перестроить индекс без блокировки (REINDEX CONCURRENTLY)
PostgreSQLОбслуживаниеКоманда
REINDEX INDEX CONCURRENTLY customer_email_idx;Что делает
Перестраивает индекс, не блокируя запись; устраняет раздувание индекса.
Когда использовать
Когда индекс разросся/повреждён, на работающей системе без окна обслуживания.
Внимание
Требует PostgreSQL 12+. При сбое может оставить индекс INVALID с суффиксом _ccnew; проверьте pg_index.indisvalid и при необходимости удалите его через DROP INDEX. Для перестройки всей таблицы: REINDEX TABLE CONCURRENTLY customer;
Связанные материалы
- Выполнить VACUUM ANALYZE для конкретной таблицы
- Выполнить агрессивный VACUUM FREEZE
- Настроить autovacuum для конкретной таблицы
- Увеличить statistics target столбца
- Мониторинг хода выполняющихся операций autovacuum/VACUUM
- Измерить риск wraparound идентификаторов транзакций (возраст XID по базам данных и таблицам)