PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Pgbackrest Restore und Delta wiederherstellen

Hallo, ich werde Ihnen etwas über die Wiederherstellung und Wiederherstellung von Delta auf pgbackrest erzählen.

Der normale Wiederherstellungsbefehl kehrt zum angegebenen Datenpfad zurück. Restore –delta hingegen stellt den von Ihnen angegebenen Datenpfad in einem anderen Zuhause von Grund auf wieder her.

Alle Operationen müssen mit dem Postgres-Benutzer durchgeführt werden.

cat /etc/pgbackrest.conf

pgbackrest info

pgbackrest archive-get --stanza=testdb

Nachdem wir die Vorabprüfungen durchgeführt haben, sollten wir den –Stanza-Namen aus pgbackrest.conf erhalten.
Außerdem kann vor der von uns durchgeführten Sicherungswiederherstellung die vorhandene DB als Dumpall gesichert werden.

pg_dump  testdb -f backup.sql
pg_dumpall -f backup_all.sql

Es kann zur Steuerung nach der Wiederherstellung verwendet werden, indem eine Tabelle erstellt wird.

Auch wenn der DATA-Ordner nicht vollständig gesichert werden kann, MÜSSEN Dateien wie postgres.conf und pg_hba gesichert werden.

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

Der Inhalt von pg_hba.conf wird nach der Wiederherstellung aktualisiert.

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..

Wir geben die Datenbank auf einem anderen Pfad zurück

pgbackrest --stanza=testdb --log-level-console=info --type=time "--target=2021-07-07 08:00:00.024378+01" --db-path=/postgres/data2 restore --delta

Wir ändern den Port über postgresql.conf. Über die neue Instanz geben wir Dumps tabellarisch aus.

pg_dump -d testdb -p 5432 -n public test -f backup_all.sql

Vergessen wir nicht, die von uns erstellte Datenbank später zu löschen.