50.5. Récupération après un arrêt brutal
Habituellement, rejouer les traces WAL suffit à restaurer
l'intégrité d'un index GiST après un arrêt brutal de la base de
données. Néanmoins, il existe quelques cas particuliers pour
lesquels l'état de l'index n'est pas entièrement reconstruit.
L'index sera toujours fonctionnellement correct mais il
pourrait y avoir des dégradations dans les performances.
Lorsque ceci arrive, l'index peut être réparable par la
commande VACUUM
sur sa table, ou en reconstruisant l'index avec la commande
REINDEX. Dans
certains cas, un simple VACUUM n'est pas suffisant et
soit un VACUUM
FULL soit un REINDEX est nécessaire. Le
besoin d'une de ces procédures est indiqué par l'arrivée :
LOG: index NNN/NNN/NNN needs VACUUM or REINDEX to finish crash recovery
ou ce message de traces lors d'insertions d'index :
LOG: index "FOO" needs VACUUM or REINDEX to finish crash recovery
Si un simple VACUUM se trouve lui-même
incapable de réaliser complètement la récupération, il renverra
un avertissement :
NOTICE: index "FOO" needs VACUUM FULL or REINDEX to finish crash recovery