Tutorial - COMO FAZER BACKUP E RESTORE NO POSTGRESQL

Digite sua mensagem

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:

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).
Digite o comando:

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

Exemplo:
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:

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.
Digite o comando:

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

Exemplo:
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.

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:

Selecione para qual banco será restaurado, clique com botão direito, e em ‘Restore’ conforme imagem.
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?

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).   
Estando lá, basta executar o seguinte comando:

Exemplo:
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!

To meio Enferrujado de posta o artigo no portal, que estou Voltando a Ativa Gente Vou responde os E-mail com banco de dados PostgreSQL.

Comentários

  • KnDLinux
    editado outubro 2019

    Gente em relação da Amile Cardoso Vou responder a pergunta dela em particular vinculação de Serial-Key ou modificar dentro do banco de dados sem quebrar. E vou tentar me esforçar a voltar a divulgar banco de dados avançado no fedora que vai ajudar o pessoal :smile: .

  • No tutorial, vc esta usando windows ... mas a sintaxe do comando é igual no linux.
    Eu uso apenas dois comandos, variando apenas parametros ... se estou logado direto ou se é remoto. Ficando assim ...


    Backup

    Sintaxe.:
    pg_dump dbname -U usuario > caminho_para_salvar/arquivo_bkp.sql

    Exemplo.:
    pg_dump dbname -U postgres > /root/dump_banco/postgresql/backup.sql

    Obs.: Se você tiver o postgresql na sua estação de trabalho, basta inserir o parametro -h usuario@hostremoto no comando.


    Restore

    psql dbname -h localhost -U postgres < backup.sql

  • KnDLinux
    editado outubro 2019

    echi postei o assunto errado agora que vi :/ falta da minha atenção