Red Hat Training
A Red Hat training course is available for RHEL 8
9.4.6.3.4. ベースバックアップの作成
ベースバックアップは、複数の方法で作成できます。本セクションでは、実行中の PostgreSQL サーバーで pg_basebackup ユーティリティーを使用してベースバックアップを実行する最も簡単な方法を説明します。
ベースバックアッププロセスは、WAL アーカイブ領域に保存され、ベースバックアップに必要な最初の WAL セグメントファイルにちなんで名付けられたバックアップ履歴ファイルを作成します。
バックアップ履歴ファイルは、開始時間および終了時間、およびバックアップの WAL セグメントが含まれる小さなテキストファイルです。ラベル文字列を使用して関連するダンプファイルを特定した場合は、バックアップ履歴ファイルを使用して復元するダンプファイルを判断できます。
データを確実に復元できるようにするために、複数のバックアップセットを維持することを検討してください。
ベースバックアップを実行するには、以下の手順を行います。
前提条件
-
postgres
スーパーユーザー、データベースの管理者権限のあるユーザー、または少なくともREPLICATION
パーミッションを持つ別のユーザーとして、コマンドを実行する必要があります。 - ベースバックアップ中およびベースバックアップ後に生成されたすべての WAL セグメントファイルを保持する必要があります。
手順
pg_basebackup
ユーティリティーを使用してベースバックアップを実行します。個々のファイル (プレーン形式) としてベースバックアップを作成するには、以下を実行します。
$ pg_basebackup -D backup_directory -Fp
backup_directory を希望のバックアップの場所に置き換えます。
テーブル空間を使用し、サーバーと同じホストでベースバックアップを実行する場合は、
--tablespace-mapping
オプションも使用する必要があります。そうしないと、バックアップを同じ場所に書き込もうとすると、バックアップが失敗します。tar
アーカイブ (tar
および圧縮形式) としてベースバックアップを作成するには、以下を実行します。$ pg_basebackup -D backup_directory -Ft -z
backup_directory を希望のバックアップの場所に置き換えます。
このようなデータを復元するには、ファイルを正しい場所に手動で抽出する必要があります。
- ベースバックアッププロセスが完了すると、バックアップ履歴ファイルで指定されている、データベースクラスターのコピーとバックアップ中に使用された WAL セグメントファイルを安全にアーカイブします。
- ベースバックアップで使用されている WAL セグメントファイルよりも数値が小さい WAL セグメントを削除します。これらはベースバックアップよりも古く、復元には必要ないためです。
pg_basebackup が接続するデータベースサーバーを指定するには、以下のコマンドラインオプションを使用します。
ホストを定義する
-h
オプションデフォルトのホストは、ローカルホストまたは
PGHOST
環境変数により指定されたホストです。ポートを定義する
-p
オプションデフォルトのポートは、
PGPORT
環境変数またはコンパイル済みデフォルトで示されます。