こんにちは、pgbackrestでの復元と復元デルタについて説明します。
通常の復元コマンドは、指定したデータパスに戻ります。一方、Restore –deltaは、別の家で最初から指定したデータパスを復元します。
すべての操作はpostgresユーザーで行う必要があります。
cat /etc/pgbackrest.conf pgbackrest info pgbackrest archive-get --stanza=testdb
実行前のチェックを行った後、pgbackrest.confから–stanza名を取得する必要があります。
さらに、作成したbackup-restoreの前に、既存のDBをdumpallとしてバックアップできます。
pg_dump testdb -f backup.sql pg_dumpall -f backup_all.sql
テーブルを作成することにより、復元後の制御に使用できます。
DATAフォルダーを完全にバックアップできない場合でも、postgres.confやpg_hbaなどのファイルをバックアップする必要があります。
mv /postgres/data /postgres/data_old mkdir /postgres/data pg_ctl stop -D /postgres/data pgbackrest --stanza=testdb-int --log-level-console=info --type=time "--target=2021-07-07 08:00:00.024378+01" --db-path=/postgres/data2/ restore
pg_hba.confの内容は、復元後に更新されます。
mv /postgres/data/pg_hba.conf /postgres/data/pg_hba_07072021.conf cp /postgres/data_07072021/pg_hba.conf /postgres/data/pg_hba.conf pg_ctl start -D /postgres/data pg_ctl reload -D /postgres/data Test..
別のパスでデータベースを返します
pgbackrest --stanza=testdb --log-level-console=info --type=time "--target=2021-07-07 08:00:00.024378+01" --db-path=/postgres/data2 restore --delta
postgresql.confを介してポートを変更しています。新しいインスタンスを介してテーブルベースでダンプを出力します。
pg_dump -d testdb -p 5432 -n public test -f backup_all.sql
後で作成したデータベースを削除することを忘れないでください。