DEV Community

Cover image for Backup sem estresse: Como criar o dump do seu BD PostgreSQL no Docker de forma simples
Ramon Borges
Ramon Borges

Posted on

Backup sem estresse: Como criar o dump do seu BD PostgreSQL no Docker de forma simples

Introdução

Nesta postagem, exploraremos um guia prático para a criação de dumps de banco de dados PostgreSQL em contêineres Docker. Abordaremos o acesso ao container, a utilização do pg_dump e a exportação dos dados para fora do contêiner.

Acessar container Docker

Entrando em um container

Para iniciar, é crucial acessar o contêiner que hospeda o banco de dados PostgreSQL. Você pode usar o comando docker exec para entrar no ambiente do contêiner. Este comando executa um novo comando em um contêiner em execução.

docker exec -it ID_CONTAINER /bin/bash
Enter fullscreen mode Exit fullscreen mode

O -it permite que você interaja com o terminal dentro do contêiner. O ID_CONTAINER é o identificador do container que possui o banco de dados. O /bin/bash permite que um shell Bash seja iniciado dentro do contêiner, o que proporciona uma interface de interação com o ambiente do contêiner.

Gerar Dump utilizando pg_dump

pátio de containers

Com o acesso ao contêiner estabelecido, é hora de gerar o dump do banco de dados. Utilizaremos a ferramenta pg_dump, que é padrão no PostgreSQL e oferece opções para personalizar o processo de backup. Para gerar o arquivo com o backup, execute o comando abaixo:

pg_dump -U username -d dbname -f NOME_DO_ARQUIVO_DUMP.sql
Enter fullscreen mode Exit fullscreen mode

Onde,

  • -U username: Nome de usuário para conectar-se ao banco.
  • -d dbname: Especifica o nome do banco de dados ao qual deseja conectar-se.
  • -f file: Nome do arquivo que receberá o script com o dump.

Será solicitado a você a senha do banco de dados. Ao inserir a senha, o arquivo com o dump será exportado para o container. Mas, como eu tenho acesso a esse arquivo, que se encontra dentro do meu container?

Exportar arquivo para fora do container

containers

Após a conclusão do dump, sairemos do contêiner. Para isso, basta executar o comando exit.

Em seguida, utilizaremos o comando cp para exportar o arquivo de dump do contêiner para o sistema de arquivos local. Para isso, basta executar o comando abaixo:

docker cp idcontainer:/caminho/no/container/NOME_DO_ARQUIVO_DUMP.sql /caminho/no/host/local/
Enter fullscreen mode Exit fullscreen mode

Para facilitar o nosso entendimento, vou dar um exemplo. Digamos que você tem um container com id 6abfa0ee2d87, contendo o arquivo de dump meu_dump_2023.sql, e você deseja exportar para o seu diretório local. Você deveria executar o seguinte comando:

docker cp 6abfa0ee2d87:meu_dump_2023.sql .
Enter fullscreen mode Exit fullscreen mode

Conclusão

Com estes passos simples, você pode criar dumps de banco de dados PostgreSQL em ambientes Docker de maneira simples. Este processo é fundamental para a segurança e a continuidade dos dados, proporcionando uma abordagem prática e segura para backups em contêineres.

Referências

Top comments (2)

Collapse
 
vgeruso profile image
Victor Geruso Gomes

ótimo artigo, me salvou muito

Collapse
 
ramonborges15 profile image
Ramon Borges

Opa, cara que mensagem boa! Fiquei muito feliz em saber que puder te ajudar!!!!