PostgreSQLLa base de données la plus sophistiquée au monde.

49.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