Ir para o conteúdo
ou

Software livre Brasil

Heitor Medrado de Faria

 Voltar a Blog
Tela cheia

Fazendo “backup” de bancos Postgresql corretamente

30 de Novembro de 2009, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 1339 vezes

Ao invés do mais popular “dump”, o método abaixo consiste numa melhor maneira de fazer o backup do Postgresql, principalmente por se tratar de um backup on-line (ou seja, o banco não para). Muito útil para grandes bases.

Para isso, ative o WAL (write ahead log) do Postgresql. Dentro do postgresql.conf, deve haver a seguinte linha:

archive_command = 'cp -i %p /mnt/server/archivedir/%f </dev/null'

Logicamente, /mnt/server/archivedir é apena o diretório destino do arquivamento, devendo ser alterado para um ponto de montagem no qual tenha espaço suficiente para armazenar os logs.

Atenção! Teste o comando. Caso o cp -i não funcione, deve realizar uma verificação de execução correta no script. Verifique a documentação do Postgresql no link mais abaixo.

Então:

Crie no Bacula um RunBeforeJob script que execute na console do Postgres, com superusuário do banco:

SELECT pg_start_backup('label');

Onde label será um nome que você atribuirá para esta transação de backup.

O backup do Bacula deverá então rodar, copiando os arquivos do banco, logs, etc.

Já no RunAfterJob – e isso é muito importante, deve criar um script que execute a seguinte rotina no banco do Postgresql:

SELECT pg_stop_backup();

A boa alma que fizer os scripts pode postar aqui… =]

Fonte: http://www.postgresql.org/docs/8.1/static/backup-online.html

Dica: Flávio Gurgel, professor de Postgresql.

Abraços,

Heitor Faria


Fonte: http://www.bacula.com.br/?p=145

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.