Configurar o arquivamento de WAL para o pgBackRest (archive-push/archive-get)
PostgreSQLBackup e 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/dataO que faz
Faz o PostgreSQL enviar cada segmento de WAL concluído ao repositório do pgBackRest (archive-push) e buscá-lo de lá durante a recuperação (archive-get); archive-async torna o envio paralelo e assíncrono por meio de um diretório de spool.
Quando usar
Como primeiro passo da configuração de backups físicos e PITR com pgBackRest, antes do stanza-create.
Atenção
Enquanto o archive_command falhar, o WAL se acumula no pg_wal e o primário para quando o disco enche; monitore pg_stat_archiver.failed_count. Com Patroni, defina esses parâmetros pelo patroni.yml / edit-config em vez do postgresql.conf. Arquivar dois clusters diferentes no mesmo stanza corrompe o repositório.
Relacionados
- Criar o stanza do pgBackRest e verificar o arquivamento (stanza-create/check)
- Fazer backups full, differential e incremental com pgBackRest
- Mostrar o catálogo de backups do pgBackRest e o intervalo do arquivo de WAL (info)
- Restaurar o backup mais recente com pgBackRest
- Restaurar para um ponto no tempo com pgBackRest (PITR, --type=time)
- Reconstruir rapidamente um standby com delta restore do pgBackRest