segunda-feira, 2 de fevereiro de 2015

Backup no Postgresql - usando o pg_dump

Anteriormente, publiquei aqui um tutorial para a instalação do postgresql no Debian 7 wheezy. Agora, vou mostrar uma maneira simples de realizar o backup de suas bases, aliás, todo DBA que se preze, deve saber (e bem) como realizar um backup, e não menos importante, que este backup funcione!

Bom, com o terminal aberto, digite:

su postgres
psql
\l+

Primeiro, logamos como usuário postgres, depois chamamos o psql para entrarmos no console do banco de dados, depois, usamos o \l+ para nos mostrar as nossas bases de dados com os detalhes, como mostrado na figura abaixo:


Iremos fazer o backup da base chamada testes. Agora, podemos sair do psql, digitando \q.

Como já estamos como usuário postgres, então, chamamos o utilitário pg_dump, que é o responsável por realizar o backup do banco de dados. Sua sintaxe é assim:

pg_dump testes -F c >> /tmp/backup.sql

Onde:
pg_dump: é o utilitário de backup;
testes: o nome da base de dados;
F: file, vai criar um arquivo;
c: vai fazer a compactação dele
>> : vai jogar a saida em um arquivo, neste caso, backup.sql dentro da pasta /tmp. Claro, isso é para fins didáticos, o ideal é ter um diretório só para guardar seus backups.
Veja imagem:

Nada mal, de 15Mb para 571Kb. Tenho bases de 50Gb que geram um dump de aproximadamente 5Gb. Agora, vamos testar se nosso backup está funcionando.

Para isso, vamos criar um banco chamado teste1:
psql -U postgres -c 'create database teste1;'

E agora, usamos o pg_restore:

pg_restore -d teste1 /tmp/backup.sql

Vai demorar para fazer o restore, depois, teremos a base restaurada de mesmo tamanho.

Como podemos ver, não é tão complicado assim. Agora, basta prestar atenção, e testar os backups, de nada adianta você fazer e não funcioar quando precisar.

at;

Eder

Nenhum comentário:

Postar um comentário