Uma introdução sobre ferramentas de Backup e Restauração de Informações no PostgreSQL
Todos nós sabemos que um dos maiores bens patrimoniais de uma empresa é sem dúvida sua base de dados. Informações sobre clientes, fornecedores, cadastros e uma gama de outras informações precisam ser armazenadas e recuperadas corretamente.
Sendo de tão alto valor para a empresa, essas informações devem ser protegidas contra os eventuais danos que possam ocorrer. A maneira mais utilizada é a criação de uma cópia fiel da base de dados para que essa possa ser armazenada em um local seguro. Para isso, o PostgreSQL disponibiliza ferramentas para efetuar cópias de segurança (backup): pg_dump e pg_dumpall. A seguir, uma orientação sobre a utilização dessas ferramentas.
Efetuando backup do seu banco de dados - pg_dump
Um detalhe importante para citar a respeito desse comando é que ele possibilita a execução de um "hot backup", ou seja, não é necessário os usuários desconectarem para que o backup seja efetuado.
São inúmeras as opções para efetuar o backup, atendendo a todos os gostos. A documentação mais detalhada a respeito das opções pode ser vista em http://www.postgresql.org/docs/8.1/static/app-pgdump.html. Como o nosso tutorial é apenas uma introdução, irei explanar apenas as opções que são mais utilizadas. Exemplo:
pg_dump sistema -f backup-sistema.sql -F p -v
onde:
sistema: nome do banco de dados
-f: indica que a saída será para um arquivo
backup-sistema.sql: nome do arquivo de saída que irá conter os comandos SQL
-F: formato de saída do arquivo
p: no nosso caso, o formato de saída é texto puro com comandos SQL. Esse tipo de formato é o padrão.
-v: ativa modo verbose, permitindo que o usuário visualize informações detalhadas sobre o que o pg_dump está fazendo.
Importante citar que o comando acima irá fazer o backup de todas as tabelas do Banco de Dados. Para efetuar o backup de uma tabela apenas, o comando seria:
pg_dump sistema -t usuarios -f backup-sistema.sql -F p -v
onde:
-t: indica que será efetuado o backup de uma tabela específica
usuarios: é o nome da tabela
Após a execução desse comando será criado um arquivo que será utilizado para a restauração da base de dados, como segue.
Restaurando seu banco de dados - psql
A ferramenta psql é o front-end do PostgreSQL via terminal. Entre várias funcionalidades que essa ferramenta oferece, uma delas é a capacidade de ler um arquivo (script SQL) e executar os comandos no Banco de Dados. Exemplo:
psql -d sistema -f backup-sistema.sql
onde:
-d: indica o nome do banco de dados
sistema: nome do banco de dados
-f: indica que a entrada é proveniente de um arquivo
backup-sistema.sql: nome do arquivo de entrada que contém os comandos SQL
Pronto! Após esse passo as informações anteriormente contidas no script SQL já estarão carregadas em seu Banco de Dados.
Essa é uma maneira simples de efetuar o backup e a restauração das informações. Uma infinidade de combinações são possíveis, variando da necessidade de cada um.
Copyleft (c) 2006 por Arthur Cesar Oreana (aoreana (at) gmail (dot) com)