第4章 · 障害対応·v1.0.0·更新 2026/7/8·読了目安 約14分
変更要約: 初版(主題G4・G4.1〜G4.3)
4.2破損クラスタ復旧
この節の要点
破損したデータベースクラスタからの復旧手順を学びます。PITR(ポイントインタイムリカバリ)を軸に、WAL制御情報を再構築するpg_resetwal、起動時のトラブルシューティングフラグignore_system_indexes・ignore_checksum_failure、コミットログを保持するpg_xact、緊急時のシングルユーザモード、トランザクションID周回対策のVACUUM FREEZEを押さえます。
クラスタそのものが破損した状況——ファイルシステム破損・誤ったDROP・トランザクションID周回の危機など——では、通常の起動やバックアップ復元だけでは対応できないことがあります。Goldではこうした「壊れたクラスタを、データをできるだけ失わずに再び動く状態へ戻す」ための専用手段(PITR・pg_resetwal・起動フラグ・シングルユーザモード)と、そもそも周回という破局的事態を未然に防ぐVACUUM FREEZEの両輪を理解する必要があります。
4.2.1PITRと起動時トラブルシューティング
- PITR(ポイントインタイムリカバリ)=ベースバックアップにWALアーカイブを適用して、任意の時点(誤操作の直前など)まで復元する手法。「誤って本番テーブルをDROPした直後」のような事故で、その操作の直前までピンポイントで巻き戻せるのが最大の利点。
- pg_resetwal=WALの制御情報(pg_controlの内容)を強制的に再構築する最終手段のツール。WALが破損して通常の起動やクラッシュリカバリが不可能な場合にのみ使用し、実行するとその時点以降の一貫性保証が失われ、データ損失を伴いうるため、他に手段が無いときの最後の選択肢と位置づける。
- 起動時のトラブルシューティング用フラグ=ignore_system_indexes(システムカタログの破損したインデックスを無視して起動を試みる)・ignore_checksum_failure(
data-checksums有効時にチェックサム不一致を検出してもエラーで止めず継続する)。いずれも恒久運用設定ではなく、破損クラスタからデータを救出するための一時的な緊急手段。

