XX002: index_corrupted
PostgreSQL¿Qué significa?
Se detectó corrupción en una estructura de índice. Como los datos a los que apunta el índice son inconsistentes con las filas reales del heap, las consultas que usan el índice pueden devolver resultados erróneos o fallar.
¿Por qué ocurre?
Fallo de hardware/almacenamiento, orden del B-tree roto por un cambio de collation (regla de ordenación) tras una actualización de glibc/ICU del sistema operativo, o una caída repentina. Las actualizaciones de collation del sistema operativo, en particular, provocan corrupción silenciosa en los índices de texto.
Cómo solucionarlo
Reconstruya el índice corrupto: REINDEX INDEX idx_name; o REINDEX TABLE my_table; En tablas grandes use REINDEX INDEX CONCURRENTLY para reducir los bloqueos. Si la causa es la collation, reconstruya todos los índices de texto afectados y verifíquelos con la extensión amcheck (bt_index_check). Si la causa raíz es el hardware, sustituya el almacenamiento.