Quick Start¶
このセクションでは、基本的なpgBackRest構成プロセスと、ローカルで実行されているデータベースクラスターの最初のバックアップを作成する方法について説明します。また、
backup 、restore 、およびinfo
コマンドについても簡単に紹介します。
このセクションに進む前に、 'Installation' 手順に従う必要があります。
構成¶
デフォルトのpgBackRest構成ファイルの場所は/etc/pgbackrest/pgbackrest.conf
です。存在しない場合、次に /etc/pgbackrest.conf が使用されます。
構成パラメーターの詳細については、 appendix section を参照してください。
次の例では、ローカルホストで実行されているデータベースクラスターのバックアップを作成するようにdemo
スタンザを構成します。
EDBPostgresAdvancedServer の場合:
[global]
repo1-path=/var/lib/edb/as13/backups
[demo]
pg1-path=/var/lib/edb/as13/data
pg1-user=enterprisedb
pg1-port=5444
PostgreSQL の場合:
[global]
repo1-path=/var/lib/pgsql/13/backups
[demo]
pg1-path=/var/lib/pgsql/13/data
pg1-user=postgres
pg1-port=5432
pgBackRestを構成したら、データベースアーカイバープロセスを設定します。
# postgresql.conf
archive_mode = on
archive_command = pgbackrest --stanza=demo archive-push %p
archive_mode
パラメーターを変更するにはサービスの再起動が必要であり、
archive_command
を変更するには構成のリロードのみが必要であるため、新しいデータベースクラスターを開始するときに空のarchive_command
でarchive_mode を有効にすることをお勧めします。
システムユーザー(postgres またはenterprisedb
)のIDを想定し、 pgBackRestリポジトリを開始します。
$ pgbackrest --stanza=demo --log-level-console=info stanza-create
構成とアーカイブプロセスを確認します。
$ pgbackrest --stanza=demo --log-level-console=info check
バックアップ¶
pgBackRestを呼び出すときは、次のいずれかのバックアップタイプを指定できます。
フルバックアップ -
full- すべてのデータベースクラスターファイルをコピーします。 - 以前のバックアップへの依存関係はありません。
例:
$ pgbackrest --stanza=demo --type=full backup
インクリメンタルバックアップ -
incr- 最後のバックアップ以降に変更されたデータベースクラスターファイルのみをコピーします。 - 他のバックアップに依存して増分バックアップを復元します。
例:
$ pgbackrest --stanza=demo --type=incr backup
差分バックアップ -
diff- 最後の完全バックアップ以降に変更されたデータベースクラスターファイルのみをコピーします。 - 増分バックアップに似ていますが、常に最後の完全バックアップに依存します。
例:
$ pgbackrest --stanza=demo --type=diff backup
増分または差分バックアップの基になる完全バックアップがない場合、 pgBackRestは代わりに完全バックアップモードで実行されます。
バックアップ情報¶
info コマンドを使用して、バックアップに関する情報を取得します。
$ pgbackrest --stanza=demo info
stanza: demo
status: ok
cipher: none
db (current)
wal archive min/max (13-1): 000000010000000000000001/000000010000000000000007
full backup: 20201019-162148F
timestamp start/stop: 2020-10-19 16:21:48 / 2020-10-19 16:21:58
wal start/stop: 000000010000000000000003 / 000000010000000000000003
database size: 23.9MB, backup size: 23.9MB
repository size: 2.9MB, repository backup size: 2.9MB
...
デフォルトでは、 info
コマンドは、要求されたスタンザのバックアップの要約を提供します。
--stanza を指定しないと、 info
コマンドはすべてのスタンザで動作します。
復元¶
restore コマンドを使用して、バックアップを復元します。 --delta
オプションを使用すると、既存のデータベースクラスターファイルを保持し、必要な場合にのみ回復できます。
--delta オプションを指定しない場合、すべてのファイルが復元されます。
restoreコマンドを実行する前に、データベースクラスターを停止し、(
--delta
オプションが使用されている場合を除く)データディレクトリおよびテーブルスペースからすべてのファイルを削除します。
$ pgbackrest --stanza=demo restore
現在、バックアップの一貫性を確認する唯一の方法は、バックアップを復元することです。その後、定期的にバックアップの復元を試すことをお勧めします。
回復対象¶
デフォルトでは、 restore
コマンドは最新のバックアップを復元し、リポジトリで見つかったアーカイブされたすべてのWALファイルを適用します。
復元するリカバリターゲットのタイプを選択するには、次のいずれかのキーワードを使用して--type
コマンドラインオプションを含めます。
default- アーカイブストリームの最後まで回復します。immediate- データベースが一貫するまでのみ回復します。lsn- LSN(ログシーケンス番号)に回復します。name- 復元ポイントまで回復します。xid- トランザクションIDに回復します。time- 特定のタイムスタンプに回復します。preserve- 既存のリカバリ設定を保持します。standby-standby_mode=onまたはstandby.signalを追加します。none- リカバリ設定が提供されていません。
--type が lsn 、 name 、トランザクションID ( xid
)、または time に設定されている場合、 --target
オプションを使用して復元ポイントを指定します。
pgBackRestは、復旧ターゲット時間が指定されている場合、復元する正しいバックアップセットを自動的に選択します。それ以外の場合は、最新のバックアップ
セットが使用されます。特定のバックアップセットを復元するには、 --set
オプションを使用します。
recovery_target_action PostgreSQL設定を変更するには、restore
--target-action オプションを使用します。
pause- リカバリターゲットに達したら一時停止します(デフォルト)。promote- リカバリーターゲットに達したときにタイムラインをプロモートして切り替えます。shutdown- リカバリーターゲットに達したらサーバーをシャットダウンします。