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

Fazer backups full, differential e incremental com pgBackRest

PostgreSQLBackup e 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

O que faz

Um backup full copia o cluster inteiro, diff copia os arquivos alterados desde o último full, incr copia os arquivos alterados desde o último backup de qualquer tipo; ao final verifica-se que o WAL necessário foi arquivado e o expire roda automaticamente conforme a retenção.

Quando usar

Em uma rotina regular de backup: tipicamente full semanal + diff/incr diário, incr mais frequente em clusters grandes.

Atenção

Sem um full anterior, as solicitações diff/incr são promovidas automaticamente a full. Uma cadeia de incr mais longa aumenta o tempo de restore e a dependência; perder um backup da cadeia inutiliza os posteriores. Para aliviar o primário, faça backup a partir de um standby com backup-standby=y (o primário ainda é necessário para a coordenação).

Abrir no DBAtlas →

Relacionados