Configurar el archivado de WAL para pgBackRest (archive-push/archive-get)
PostgreSQLBackup y PITRComando
# postgresql.conf (changing archive_mode requires a restart):
wal_level = replica
archive_mode = on
archive_command = 'pgbackrest --stanza=<stanza> archive-push %p'
# On the restore/standby side (in postgresql.conf on PG12+):
restore_command = 'pgbackrest --stanza=<stanza> archive-get %f "%p"'
# /etc/pgbackrest/pgbackrest.conf (database host, local repo example):
[global]
repo1-path=/var/lib/pgbackrest
repo1-retention-full=2
archive-async=y
spool-path=/var/spool/pgbackrest
process-max=4
compress-type=zst
start-fast=y
[<stanza>]
pg1-path=/var/lib/pgsql/16/dataQué hace
Hace que PostgreSQL envíe cada segmento WAL completado al repositorio de pgBackRest (archive-push) y lo recupere de allí durante la recuperación (archive-get); archive-async hace el envío paralelo y asíncrono mediante un directorio de spool.
Cuándo usarlo
Como primer paso para configurar backups físicos y PITR con pgBackRest, antes de stanza-create.
Precaución
Mientras archive_command falle, el WAL se acumula en pg_wal y el primario se detiene cuando se llena el disco; monitoree pg_stat_archiver.failed_count. Con Patroni, defina estos parámetros mediante patroni.yml / edit-config en lugar de postgresql.conf. Archivar desde dos clústeres distintos en la misma stanza corrompe el repositorio.
Relacionado
- Crear la stanza de pgBackRest y verificar el archivado (stanza-create/check)
- Tomar backups completos, diferenciales e incrementales con pgBackRest
- 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