## 49.5. Crash Recovery

Usually, replay of the WAL log is sufficient to restore the integrity of a GiST index following a database crash. However, there are some corner cases in which the index state is not fully rebuilt. The index will still be functionally correct, but there may be some performance degradation. When this occurs, the index can be repaired by `VACUUM`ing its table, or by rebuilding the index using `REINDEX`. In some cases a plain `VACUUM` is not sufficient, and either `VACUUM FULL` or `REINDEX` is needed. The need for one of these procedures is indicated by occurrence of this log message during crash recovery:

    LOG:  index NNN/NNN/NNN needs VACUUM or REINDEX to finish crash recovery

or this log message during routine index insertions:

    LOG:  index "FOO" needs VACUUM or REINDEX to finish crash recovery

If a plain `VACUUM` finds itself unable to complete recovery fully, it will return a notice:

    NOTICE:  index "FOO" needs VACUUM FULL or REINDEX to finish crash recovery