sql >> Base de Datos >  >> RDS >> PostgreSQL

Pgbackrest Restaurar y Restaurar Delta

Hola, les contaré sobre restaurar y restaurar delta en pgbackrest.

El comando de restauración normal vuelve a la ruta de datos que especificó. Restore –delta, por otro lado, restaura la ruta de datos que proporcionó desde cero en una casa diferente.

Todas las operaciones deben realizarse con el usuario de postgres.

cat /etc/pgbackrest.conf

pgbackrest info

pgbackrest archive-get --stanza=testdb

Después de realizar las comprobaciones previas a la ejecución, deberíamos obtener el nombre de la estrofa de pgbackrest.conf.
Además, antes de la restauración de la copia de seguridad que hicimos, la base de datos existente se puede respaldar como dumpall.

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

Se puede utilizar para el control posterior a la restauración mediante la creación de una tabla.

Incluso si no se puede realizar una copia de seguridad completa de la carpeta DATA, se DEBE realizar una copia de seguridad de archivos como postgres.conf y 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

El contenido de pg_hba.conf se actualiza después de la restauración.

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

Estamos devolviendo la base de datos en una ruta diferente

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

Estamos cambiando el puerto a través de postgresql.conf. Generamos volcados en una tabla a través de la nueva instancia.

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

No olvidemos eliminar la base de datos que creamos más tarde.