DBAtlas · Atlas de operaciones de bases de datos

Tomar backups completos, diferenciales e incrementales con pgBackRest

PostgreSQLBackup y PITR

Comando

sudo -u postgres pgbackrest --stanza=<stanza> --type=full backup
sudo -u postgres pgbackrest --stanza=<stanza> --type=diff backup   # changes since the last full
sudo -u postgres pgbackrest --stanza=<stanza> --type=incr backup   # changes since the last backup of any type
# cron example (postgres user): full on Sunday, diff on other days
# 30 1 * * 0   pgbackrest --stanza=<stanza> --type=full backup
# 30 1 * * 1-6 pgbackrest --stanza=<stanza> --type=diff backup

Qué hace

Un backup full copia todo el clúster, diff copia los archivos cambiados desde el último full, incr copia los archivos cambiados desde el último backup de cualquier tipo; al final se verifica que el WAL necesario está archivado y expire se ejecuta automáticamente según la retención.

Cuándo usarlo

En una programación de backups regular: normalmente full semanal + diff/incr diario, incr más frecuentes en clústeres grandes.

Precaución

Sin un full previo, las solicitudes diff/incr se promueven automáticamente a full. Una cadena incr más larga aumenta el tiempo de restauración y la dependencia; perder un backup de la cadena inutiliza los posteriores. Para descargar al primario, haga el backup desde un standby con backup-standby=y (el primario sigue siendo necesario para la coordinación).

Abrir en DBAtlas →

Relacionado