pgx_rcvallコマンドでは、サーバコマンドで作成したリストアポイントの時点にデータベースクラスタをリカバリします。リストアポイントの作成方法については、“3.2.2 サーバコマンドを使用する場合”の“リストアポイントの設定”を参照してください。
以下の手順でデータ格納ディスク内のデータをリカバリしてください。
アプリケーションの停止
データベースを利用しているアプリケーションを停止してください。
インスタンスの停止
インスタンスを停止します。停止方法については、“2.1.2 コマンドを利用する場合”を参照してください。
インスタンスの停止に失敗した場合は、“13.11 インスタンス停止失敗時の対処”を参照してください。
リストアポイントの確認
“3.2.2 サーバコマンドを使用する場合”で任意のファイルなどに記録したリストアポイントから、誤操作が行われる前のリストアポイントを特定します。
キーストアのリカバリとキーストアの自動オープンの有効化
データベースに格納するデータを暗号化している場合は、データベースのバックアップを取得した時点のキーストアをリストアしてください。キーストアの自動オープンは、必要に応じて設定してください。
データベースクラスタのリカバリ
pgx_rcvallコマンドを使用して、データベースクラスタを復旧します。
pgx_rcvallコマンドには、以下を指定します。
-Dオプションは、データ格納先のディレクトリを指定します。-Dオプションを省略した場合、PGDATA環境変数の値が使用されます。
-Bオプションは、バックアップデータ格納先のディレクトリを指定します。
-nオプションは、指定したリストアポイントの時点にデータをリカバリします。
リストアポイントが"batch_20170503_1"の場合の実行例を示します。
> pgx_rcvall -D D:\database\inst1 -B E:\backup\inst1 -n batch_20170503_1
注意
リカバリに失敗した場合は、表示されるエラーメッセージに従ってエラーの原因を取り除き、pgx_rcvallコマンドを再実行してください。
「pgx_rcvall:リカバリ中にエラーが発生しました」のメッセージがある場合は、その後にリカバリ実行時のログが出力されます。ログの最後の十数行以内にエラーの原因が出力されますので、そのメッセージに従ってエラーの原因を取り除き、pgx_rcvallコマンドを再実行してください。
また、リカバリ中に表示される以下のメッセージは、pgx_rcvallコマンドの正常な動作によって出力されるメッセージのため、ユーザーが意識する必要はありません。
FATAL: データベースシステムは起動しています
インスタンスの起動
インスタンスを起動します。
インスタンスの起動方法については“2.1.2 コマンドを利用する場合”を参照してください。
注意
pgx_rcvallコマンドは、ハッシュインデックスを正しく復旧できません。ハッシュインデックスを使用している場合、インスタンス起動後、該当するインデックスに対して、REINDEXコマンドを実行してください。
データベースの運用の再開
必要に応じて、指定した復旧時点から誤った操作を行うまでのトランザクション処理を再度実行した上で、データベースの運用を再開します。
参照
pgx_rcvallコマンドの詳細は、“リファレンス”の“pgx_rcvall”を参照してください。