通常,重放 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