概要
ポイントインタイムリストアを使用してAzure PostgreSQL Serverの復元を実施すると、復元が失敗するケースが度々発生している。
成功する時は数時間程度で完了するが、失敗する時は数日経過した後でアクティビティログを確認すると失敗した旨が記載されたログが確認できる。
手順
以下のページを参考に実施。
調査結果
エラーが発生する要因
PostgreSQL Serverを復元するために必要な復元もとにあるトランザクションログ(WALファイル)が見つからず、探し続けていたため時間がかかっていた。
リストアを行うためには、WALファイルが必要になるが、WALファイルの必要な範囲は、スナップショットバックアップが取得された時点から、PITRで指定された時刻かそれ以降に書き込みトランザクションが行われた範囲までとなる。
よって、PITRで指定された時点以降にソースサーバに書き込みが行われている必要がある。私の環境では、ソースサーバであるPostgreSQL Serverに書き込みが行われていなかったことが確認できた。
エラー対策
トランザクションが作成されるよう、復元ポイントに指定する時刻の後に簡単なトランザクションを実施する。
コメント