历史版本。 PostgreSQL 8.3 已结束支持。 请参阅 当前版本手册.
51.5. 崩溃恢复 #
通常,重放 WAL 日志足以在数据库崩溃之后恢复 GiST 索引的完整性。但也存在一些边角情况,索引状态在其中不会被完全重建。索引在功能上仍然正确,但可能出现一些性能下降。发生这种情况时,可以对该索引所在的表执行 VACUUM 来修复索引,或者用
REINDEX 重建索引。在某些情况下,普通
VACUUM 并不够,需要 VACUUM FULL 或
REINDEX。如果崩溃恢复期间出现这条日志消息,就表明需要执行上述操作之一:
LOG: index NNN/NNN/NNN needs VACUUM or REINDEX to finish crash recovery
或者,在例行的索引插入过程中出现这条日志消息也表明这一点:
LOG: index "FOO" needs VACUUM or REINDEX to finish crash recovery
如果普通 VACUUM 发现自己无法完全完成恢复,它会返回一个提示:
NOTICE: index "FOO" needs VACUUM FULL or REINDEX to finish crash recovery