PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Pgbackrest Ripristina e Ripristina Delta

Ciao, ti parlerò di ripristino e ripristino delta su pgbackrest.

Il normale comando di ripristino ritorna al percorso dati specificato. Restore –delta, d'altra parte, ripristina il percorso dei dati che hai fornito da zero su un'altra casa.

Tutte le operazioni devono essere eseguite con l'utente postgres.

cat /etc/pgbackrest.conf

pgbackrest info

pgbackrest archive-get --stanza=testdb

Dopo aver eseguito i controlli pre-esecuzione, dovremmo ottenere il nome –stanza da pgbackrest.conf.
Inoltre, prima del backup-ripristino che abbiamo eseguito, è possibile eseguire il backup del DB esistente come dumpall.

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

Può essere utilizzato per il controllo post-ripristino creando una tabella.

Anche se non è possibile eseguire il backup completo della cartella DATA, è NECESSARIO eseguire il backup di file come postgres.conf e 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

Il contenuto di pg_hba.conf viene aggiornato dopo il ripristino.

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

Stiamo restituendo il database su un percorso diverso

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

Stiamo cambiando la porta tramite postgresql.conf. Produciamo dump su base tabellare tramite la nuova istanza.

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

Non dimentichiamo di eliminare il database che abbiamo creato in seguito.