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 - リカバリーターゲットに達したらサーバーをシャットダウンします。

用語集

pgBackRest

復元コマンド

PostgreSQL