sql >> データベース >  >> RDS >> PostgreSQL

PgbackrestRestoreおよびRestoreDelta

    こんにちは、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

    後で作成したデータベースを削除することを忘れないでください。


    1. MySQLで2つの日付の違いを見つける方法

    2. 主要なワイルドカード全文検索をSQLServerで機能させるにはどうすればよいですか?

    3. PostgreSQLでEXCLUDEを使用して隣接/重複するエントリを防止する

    4. MySQL:同じテーブルを複数回結合するにはどうすればよいですか?