NetBackup™ Web UI PostgreSQL 管理者ガイド
リストア操作後にリカバリを実行する手順
さまざまなプラットフォームでリカバリ後に実行する手順を次に示します。
Windows (VSS) の場合:
- [コントロールパネル]、[システムとセキュリティ]、[管理ツール]、[サービス]の順に進みます。
- PostgreSQL サービスを選択して停止します。
- PostgreSQL データディレクトリからすべてを削除または移動します。
メモ:
リストア後、次のコマンドを使用して、リストアされたデータディレクトリおよびファイルの属性を変更します。
attrib -S restore_path/*.* /S /D
- リストアされたデータディレクトリのすべての内容を PostgreSQL データディレクトリにコピーします。
- PostgreSQL データディレクトリの
postgresql.conf
ファイルを編集し、restore_command
パラメータを restore_command = 'copy "restored_WAL_directory\\%f" "%p"' として編集します。指定した時点へのリカバリを正確に行うには、リカバリを実行するタイムスタンプを指定します。
recovery_target_time
パラメータを recovery_target_time = 'yyyy-mm-dd hh:mm:ss' として更新します - データディレクトリに空のファイルを作成して
recovery.signal
という名前にします。 - PostgreSQL サービスを起動します。
Linux (LVM) の場合:
- PostgreSQL サービスを停止します。
- PostgreSQL データディレクトリからすべてを削除または移動します。
- データディレクトリと WAL ディレクトリの内容をそれぞれの場所に抽出してコピーします。
- データディレクトリに
recovery.signal
という名前の空のファイルを作成します。 - PostgreSQL データディレクトリの
postgresql.conf
ファイルを編集し、restore_command パラメータを restore_command = 'copy "restored_WAL_directory\\%f" "%p"' として編集します。指定した時点へのリカバリを正確に行うには、リカバリを実行するタイムスタンプを指定します。recovery_target_time パラメータを recovery_target_time = 'yyyy-mm-dd hh:mm:ss' として更新します
- PostgreSQL データディレクトリの所有権と権限を 700 に変更します。
例:
chown -R postgres:postgres /full/path/of/PostgreSQL/Data/Dir
chmod - R 700 /full/path/of/PostgreSQL/Data/Dir
- PostgreSQL サービスを起動します。
pg_basebackup
ユーティリティによって実行されたバックアップのリカバリ手順
- PostgreSQL サービスを停止します。
- PostgreSQL データディレクトリからすべてを削除または移動します。
- データディレクトリと WAL ディレクトリの内容をそれぞれの場所に抽出してコピーします。
- データディレクトリに
recovery.signal
という名前の空のファイルを作成します。 - PostgreSQL データディレクトリの
postgresql.conf
ファイルを編集し、restore_command
パラメータを restore_command = 'copy "restored_WAL_directory\\%f" "%p"' として編集します。指定した時点へのリカバリを正確に行うには、リカバリを実行するタイムスタンプを指定します。
recovery_target_time
パラメータを recovery_target_time = 'yyyy-mm-dd hh:mm:ss' として更新します - (Windows の場合) ネットワークサービスのデータディレクトリへのアクセスを提供します。
- (Linux の場合) PostgreSQL データディレクトリの所有権と権限を 700 に変更します。
例:
chown -R postgres:postgres /full/path/of/PostgreSQL/Data/Dir chmod - R 700 /full/path/of/PostgreSQL/Data/Dir
- PostgreSQL サービスを起動します。
メモ:
リカバリが成功したら、リストアパス
/full/path/of/restore/directory
からリストアデータを削除します。そうしないと、次のバックアップジョブが失敗することがあります。
pg_dumpall
ユーティリティによって実行されたバックアップのデータベースリカバリ手順Windows の場合: psql.exe -h localhost -p port_num -U username -f full\path\to\dumpall\file\filename.out
Linux の場合: psql -h localhost -p port_num -U username-f full/path/to/dumpall/file/filename.out
pgdump
ユーティリティによって実行されたバックアップのデータベースリカバリ手順Windows の場合: pg_restore -U username -d dbnamefull\path\to\dump\file\filename.dump
Linux の場合: pg_restore -U username -d dbnamefull/path/of/dump/file/filename.dump