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