52.5. クラッシュリカバリ

通常、データベースクラッシュに引き続くGiSTインデックスの整合性を復旧するにはWALログを再生することで充分です。 とは言っても、インデックス状態が完全に再構築できない境界状態が存在します。 インデックスは機能的に正しくても、なんらかの性能的劣化があるかもしれません。 これが起こる時、インデックスはそのテーブルに VACUUMを掛けること、もしくはREINDEXを使用することで修復されます。 場合によっては単なるVACUUMでは充分でなく、VACUUM FULLもしくはREINDEXのいずれかを必要とします。 これらの手順の内の1つが必要なのは、クラッシュリカバリ過程で以下のログメッセージが現れることにより指摘されます。

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