Como fazer backup e restore no PostgreSQL

Quer saber como fazer backup e restore do seu banco de dados PostgreSQL? Confira nosso guia passo-a-passo e com exemplos!


Uma constante dúvida e busca no desenvolvimento é como realizar um backup e restore de um banco PostgreSQL. Apesar de simples, é algo que nem sempre vem à memória, e este é o motivo desta publicação.

O gerenciador do banco PG Admin, não funciona corretamente para exportação, por isso recomendamos utilizar este método. No Manager eDoc, disponibilizamos o utilitário BackupAgent para realizar o processo de backup.

Neste artigo, utilizaremos nossa solução como exemplo para ensiná-lo como fazer o backup e restore do banco PostgreSQL. Confira!

Por que o backup é importante?

O backup do PostgreSQL é importante pois existe para auxiliar na prevenção de perda de dados, como registros apagados acidentalmente por falha física ou humana.

Este procedimento garante a manutenção da integridade dos dados, além de ser muito útil em migração de servidores ou quando ocorre problema em um servidor.

Como fazer o backup PostgreSQL

O banco de dados PostgreSQL disponibiliza algumas ferramentas, pequenos executáveis que fazem o serviço de backup e restore. Nos exemplos deste artigo, vamos utilizar o banco do nosso Manager eDoc como exemplo.

É possível acessar os executáveis do PostgreSQL através do prompt de comando, seguindo os passos:

  1. Localize a pasta de instalação do PostgreSQL (c:\Arquivos de Programas\PostgreSQL\9.0\bin) especificamente a basta bin, dentro dela está localizado o executável pg_dump.exe que fará a exportação (dump).
  2. Digite o comando:

pg_dump.exe –host localhost –port 5432 –username postgres –format tar –file c:\nome_arquivo_que_sera_gerado.backup ManagerEDoc

pg_dump.exe --host localhost --port 5432 --username postgres --format tar --file c:\nome_arquivo_que_sera_gerado.backup ManagerEDoc

Vamos ver o que significa cada trecho deste comando:

  •  –host localhost: define o local onde o banco se encontra, pode ser localmente ou externamente em outra rede;
  •  –port 5432: define a porta utilizada, nesse caso a padrão postgres 5432;
  •  –username postgres: define qual é o usuário utilizado na comunicação;
  •  –format tar: o tipo de compressão do arquivo gerado;
  •  –file nomedoarquivo.backup: define com qual nome e caminho completo do arquivo que será gerado;
  •  ManagerEDoc: por último vai o nome do banco que se estará exportando, atenção neste ponto, pois é case sensitive, ou seja ele considera letras maiúsculas e minúsculas.

Pronto, basta executar o comando e verificar se o arquivo exportado está confoxrme definido no nome do arquivo;

Como fazer o restore PostgreSQL

Através do prompt de comando:

  1. Localize a pasta de instalação do PostgreSQL (c:\Arquivos de Programas\PostgreSQL\9.0\bin) especificamente a pasta bin, pois dentro dela está localizado o executável pg_restore.exe que fará o restore.
  2. Digite o comando:

pg_restore.exe –host localhost –port 5432 –username postgres –dbname ManagerEDoc c:\nome_arquivo_exportado.backup

pg_restore.exe --host localhost --port 5432 --username postgres --dbname ManagerEDoc c:\nome_arquivo_exportado.backup

Vamos ver o que significa cada trecho deste comando:

  •  –host localhost: define o local onde o banco se encontra, pode ser localmente ou externamente em outra rede.
  •  –port 5432: é definida a porta utilizada, nesse caso a padrão postgres 5432.
  •  –username postgres: define qual é o usuário utilizado na comunicação.
  •  –dbname ManagerEDoc: o nome do banco que se estará exportando, atenção neste ponto, pois é case sensitive, ou seja ele considera letras maiúsculas e minúsculas.
  • c:\nome_arquivo_exportado.backup:  por último, vai o caminho completo do arquivo que deseja restaurar.
  1. Pronto, basta executar o comando e verificar se o banco foi restaurado com sucesso.

Alternativa: Restore PostgreSQL com PG Admin

Outra forma de restore recomendada é através do PG Admin. Diferente da exportação, esse método de restauração é intuitivo e bem simples. Veja como fazer o restore do postgreSQL com PG Admin:

  1. Selecione para qual banco será restaurado, clique com botão direito, e em ‘Restore’ conforme imagem.
  2. Feito isso, basta procurar o arquivo que será restaurado, clicando no botão ‘’, e após selecionado, clique em ‘OK‘.

Pronto, seu banco foi restaurado com sucesso!

Como realizar exportação do PostgreSQL com inserts

Consiste em fazer o dump de uma tabela específica através de inserts. Este método de dump é arriscado, pois muitas tabelas possuem relacionamentos, handles e sequences em andamento que podem comprometer a inserção em um novo banco de dados.

Por isso, é recomendado apenas em situações específicas, e de preferências com tabelas não muito grandes.

Veja como fazer?

  1. Localize a pasta de instalação do PostgreSQL (c:\Arquivos de Programas\PostgreSQL\9.0\bin) especificamente a basta bin, dentro dela está localizado o executável pg_dump.exe que fará a exportação (dump).   
  2. Estando lá, basta executar o seguinte comando:
pg_dump.exe --host localhost --port 5432 --username postgres --format plain --data-only --inserts --column-inserts  --table "public.\"TspdNFCe\"" --file c:\TspdNFCe.sql ManagerEDoc

O TspdNFCe se refere à qual tabela será feito dump. Feito isso, será gerado o arquivo com todos os inserts da tabela solicitada, conforme definido!

Quer saber mais?

Leia outros conteúdos gratuitos criados especialmente para software houses na Revista TecnoUpdate! Conhecimento em gestão, desenvolvimento de software, tributação, negócios e soluções tecnológicas!

Revista TecnoUpdate

Formado em Marketing. Redator do Grupo TecnoSpeed. Escreve artigos e conteúdos para TecnoSpeed DF-e, Certificados Digitais e WiFire.

Artigos relacionados