PostgreSQL: Fazendo backup de um servidor inteiro

Publicado por Francisco Souza em 27/07/2009

[ Hits: 20.133 ]

Blog: http://www.franciscosouza.net

 


PostgreSQL: Fazendo backup de um servidor inteiro



Imagine que precisemos reinstalar o sistema operacional de nosso servidor de banco de dados, que roda o SGBD PostgreSQL 8.3. Bom, precisamos fazer um backup de nossos dados e saber como restaurar depois, né?!

Para isso podemos usar ferramentas fornecidas pelo Postgre. Diferente de alguns outros SGBD, o backup no Postgre não é feito via linguagem de consulta (SQL), mas sim via aplicações. O PostgreSQL disponibiliza alguns programas (comandos) para que possam ser efetuados backups.

Também é possível trabalhar com algum frontend (o pgAdmin por exemplo), mas como geralmente servidores Linux não possuem interface gráfica, é bom sempre ver como fazer tudo sem o mouse e só naquela telinha preta.

A ferramenta oferecida para fazer um dump de um servidor em um arquivo plain (sql) é o pg_dumpall. Este comando é capaz de fazer o backup de todos os dados de um determinado servidor. Exemplo:

# pg_dumpall -h localhost -p 5432 -U postgres -v -f "/backup/dbserver.sql"

Este comando fará o backup do servidor localhost (argumento -h), na porta 5432 (argumento -p), com o usuário postgres (argumento -U), no modo interativo (verbose - argumento -v), e salvará o backup no arquivo /backup/dbserver.sql (argumento -f).

Após a formatação do nosso servidor e reinstalação do sistema operacional, podemos facilmente restaurar o backup com a ferramenta psql, antes é necessário acessar o terminal com o usuário postgres:

# su postgres
$ psql -f /backup/dbserver.sql


Muito simples, não? :)

Outras dicas deste autor

Compilando e testando o Unladen Swallow no Linux

Exim trabalhando de modo case insensitive

Leitura recomendada

Criando usuários no PostgreSQL

Acessando dois databases no mesmo SELECT (PostgreSQL)

Tuning PostgreSQL 9.1 com pgtune - Debian e derivados

Criando domínio com função de validação no PostgreSQL

Evitando erros ao indexar campos timestamp em SQL

  

Comentários
[1] Comentário enviado por valdineisantos em 27/07/2009 - 15:24h

Fiz uma versão deste scritp também. O seu ficou perfeito mas eu tinha que retirar algumas bases então criei um novo script.

Veja em http://www.valdineidossantos.com/2009/07/postgresql-backup-de-todas-as-base-de-dados/

Espero que ajude.

Parabens pelo post.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts