Unsupported versions: 9.0 / 8.4 / 8.3 / 8.2 / 8.1
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

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 VACUUMing 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