Reconstruir un índice sin bloqueos (REINDEX CONCURRENTLY)
PostgreSQLMantenimientoComando
REINDEX INDEX CONCURRENTLY customer_email_idx;Qué hace
Reconstruye el índice sin bloquear las escrituras; elimina el bloat del índice.
Cuándo usarlo
Cuando un índice ha crecido o se ha corrompido, en un sistema en producción sin ventana de mantenimiento.
Precaución
Requiere PostgreSQL 12+. Si falla puede dejar un índice INVALID con el sufijo _ccnew; revise pg_index.indisvalid y límpielo con DROP INDEX si es necesario. Para reconstruir toda la tabla: REINDEX TABLE CONCURRENTLY customer;
Relacionado
- VACUUM ANALYZE de una tabla concreta
- Ejecutar un VACUUM FREEZE agresivo
- Ajustar autovacuum para una tabla concreta
- Aumentar el statistics target de una columna
- Monitorear el progreso de las operaciones autovacuum/VACUUM en curso
- Medir el riesgo de transaction ID wraparound (antigüedad de XID por base de datos y tabla)