名前
pgx_rcvall -- データディレクトリ、テーブル空間および設定ファイルのリカバリ
概要
pgx_rcvall [option…]
説明
pgx_dmpallコマンドでバックアップしたデータとアーカイブ済みWALを使用して、データディレクトリ、テーブル空間および設定ファイルをリカバリします。復旧時点を示すオプションのいずれも指定しない場合、すべてのアーカイブ済みWALを適用して、最新状態にデータをリカバリします。
オプション
バックアップ格納ディレクトリを指定します。データディレクトリが破壊されている場合、本オプションを省略することはできません。
データディレクトリを指定します。省略時は、環境変数 PGDATA が有効となります。
指定した日時の時点にデータをリカバリする場合に指定します。
データを復旧する日時を指定します。指定形式は以下のとおりです。
"YYYY-MM-DD HH:MM:SS"
pgx_dmpallコマンドで取得したバックアップ格納ディレクトリ内のバックアップデータの情報を一覧で表示します。-p、-eまたは-nオプションと同時に指定することはできません。
指定したリストアポイントの時点にデータをリカバリする場合に指定します。リストアポイントはSQL関数pg_create_restore_pointにより作成します。同じ名前を持つ複数のリストアポイントを作成した場合、バックアップ取得以降の最初のリストアポイントがリカバリに使用されます。指定したリストアポイントが存在しない場合、すべてのアーカイブ済みWALを適用します。-eおよび-pオプションと同時に指定することはできません。
最後のバックアップが完了した時点にデータをリカバリする場合に指定します。-eおよび-nオプションと同時に指定することはできません。
-eオプションに指定した時刻にコミットしたトランザクションをリカバリに含めない場合に指定します。
キーストアをオープンするためのパスフレーズの入力を促します。
環境
データディレクトリを指定します。-Dオプションを使用して上書きすることができます。
データベースへ接続するためのポート番号を指定します。
データベースのスーパーユーザのユーザ名を指定します。 このコマンドを実行している実効ユーザの名前がデフォルトです。
診断
0: 正常終了
0以外: 異常終了
バックアップデータの情報
pgx_dmpallコマンドによりバックアップデータを作成した年月日
バックアップデータが格納されている、バックアップ格納ディレクトリ内のディレクトリ名
ディレクトリの命名形式:日時形式(YYYY-MM-DD_HH-MM-SS)
pgx_dmpallコマンドで取得したバックアップデータの状態
COMPLETE : 完了
INCOMPLETE : 未完了
注釈
このコマンドは、-lオプション指定での実行以外は、データベースサーバの停止時にのみ実行できます。
このコマンドは、PostgreSQLユーザアカウントで実行してください。
リカバリに使用するバックアップデータは、リカバリの対象となるデータディレクトリから取得したものを使用してください。
このコマンドを実行する前に、データベースへ接続を行うすべてのアプリケーションを切断してください。また、リカバリ実行中はデータベースへの接続は行わないようにしてください。
このコマンドでは、ハッシュインデックスを正しく復旧できません。ハッシュインデックスを使用している場合は、このコマンド終了後に該当するインデックスに対して、REINDEXを実行してください。
設定ファイルは、pgx_dmpallコマンド(-cオプションを含む)で、最後に取得した設定ファイルの状態に復旧されます。
このコマンドでは、リカバリの終了判定の際に、データベースへ接続します。このため、複数のインスタンスが存在する環境では、リカバリ対象のインスタンスに接続するよう、環境変数PGPORTでポート番号を設定してください
pgx_rcvallとpgx_dmpallを実行するときのOSの時間帯設定を、postgresql.confのtimezoneパラメータで指定されている時間帯に一致させるようにしてください。さもないと、-eまたは-pオプションを指定した場合に、データが意図しない時刻に復旧されてしまうことがあります。
過去の時点に復旧した場合、その復旧時点を起点とする新たな時系列(データベース更新の歴史)が始まります。リカバリが完了したときには、その復旧時点が新たな時系列における最新地点です。以後、最新状態にリカバリする場合には、この新たな時系列上のデータベース更新が再実行されます。
有効なリストアポイントは、バックアップを取得した時系列上で作成したものです。つまり、過去の時点に復旧した場合、以降に設定したリストアポイントは利用できません。したがって、望みの過去データを復元できたら、バックアップを取得してください。
例
以下は、データディレクトリ、テーブル空間、および設定ファイルを復旧する例です。
$ pgx_rcvall -B /home/pgsql/Backupdir
以下は、“2007年3月20日 10時0分0秒”の時点にデータディレクトリ、およびテーブル空間を復旧する例です。設定ファイルは、最後に取得した時点に復旧されます。
$ pgx_rcvall -B /home/pgsql/Backupdir -e "2007-03-20 10:00:00"
以下は、リストアポイント”before_match_20120705_1”の時点にデータディレクトリ、およびテーブル空間を復旧する例です。設定ファイルは、最後に取得した時点に復旧されます。
$ pgx_rcvall -B /home/pgsql/Backupdir -n before_match_20120705_1
以下は、バックアップ格納ディレクトリに取得されているバックアップデータの情報を一覧で表示させる例です。
$ pgx_rcvall -l
関連項目
pgx_dmpall