DBAtlas · Atlas de operações de banco de dados

Restaurar o backup mais recente com pgBackRest

PostgreSQLBackup e PITR

Comando

# PostgreSQL must be stopped and PGDATA empty (otherwise use --delta)
sudo systemctl stop postgresql-16
sudo -u postgres pgbackrest --stanza=<stanza> --log-level-console=info restore
# From a specific backup: --set=<backup_label>
# When restoring to another server for testing, disable archiving:
# sudo -u postgres pgbackrest --stanza=<stanza> --archive-mode=off restore
sudo systemctl start postgresql-16

O que faz

Restaura o backup mais recente e grava recovery.signal e restore_command; na inicialização o PostgreSQL reaplica todo o WAL arquivado até o ponto consistente mais recente e é promovido em uma nova timeline.

Quando usar

Quando o diretório de dados do primário foi perdido/corrompido ou ao testar regularmente se os backups são restauráveis.

Atenção

Se o cluster restaurado e o antigo arquivarem no mesmo stanza ao mesmo tempo, o repositório é corrompido; use --archive-mode=off para restores de teste. Sob o Patroni, pause o cluster ou pare o Patroni antes, senão o Patroni interfere. Se existirem tablespaces ou caminhos fora do PGDATA, revise as opções --tablespace-map e de link.

Abrir no DBAtlas →

Relacionados