Tomar backups completos, diferenciales e incrementales con pgBackRest
PostgreSQLBackup y PITRComando
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 backupQué 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).
Relacionado
- Configurar el archivado de WAL para pgBackRest (archive-push/archive-get)
- Crear la stanza de pgBackRest y verificar el archivado (stanza-create/check)
- Mostrar el catálogo de backups de pgBackRest y el rango del archivo de WAL (info)
- Restaurar el último backup con pgBackRest
- Restaurar a un punto en el tiempo con pgBackRest (PITR, --type=time)
- Reconstruir rápidamente un standby con delta restore de pgBackRest