Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
3
respostas

[Dúvida] pg_dump e pg_basebackup

O backup Full desta aula foi gerado com o pg_dump e em seguida um incremental com o pg_basebackup.

Em aulas anteriores foi dito que o pg_dump faz um backup lógico e que o pg_basebackup faz um backup físico.

Minha dúvida é, pode misturar os backups dessas ferramentas? Isto é, para restaurar o banco terei que fazer a importação do backup gerado pelo pg_dump e depois de alguma forma aplicar o backup incremental que foi gerado pelo pg_basebackup?

Fiquei com essa dúvida pq atualmente trabalho com Oracle, e não se pode misturar dessa forma backup feitos com o RMAN com os feitos com o Data Pump, são ferramentas diferentes.

3 respostas
solução!

Olá, Carlos! Tudo bem?

Entendo a sua dúvida, especialmente considerando a experiência que você tem com Oracle.

No PostgreSQL, o pg_dump e o pg_basebackup são ferramentas que servem a propósitos diferentes e não são diretamente complementares como em um sistema de backup incremental tradicional.

O pg_dump realiza um backup lógico do banco de dados, exportando os dados e a estrutura do banco em um formato que pode ser facilmente restaurado em um novo banco de dados. Por outro lado, o pg_basebackup faz um backup físico, copiando os arquivos de dados do PostgreSQL diretamente, o que é mais adequado para criar réplicas ou para recuperação de desastres.

Por conta dessas diferenças, não é recomendado misturar os backups gerados por pg_dump e pg_basebackup para restaurar um banco de dados. Eles não funcionam como um sistema de backup completo e incremental no sentido tradicional. Se você precisar restaurar um banco de dados a partir de um backup lógico (pg_dump), você deve usar o arquivo gerado por ele. Se for necessário restaurar a partir de um backup físico, aí sim você usaria o pg_basebackup.

Portanto, ao planejar sua estratégia de backup, é importante entender qual é o seu objetivo. Se é ter uma cópia lógica para migrações ou exportações, ou se é ter uma cópia física para recuperação de desastres. Cada ferramenta tem seu uso específico e não devem ser misturadas para o processo de restauração.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Boa tarde Daniel Nogueira.

Agora ficou claro com a sua explicação.

Mas neste curso o professor usa o termo backup full sempre que utiliza um script dele, mas nesse script ele faz uso do comando pg_dump, depois ele usa um outro script, que ele diz que é para backup incremental, e neste último ele usa o comando pg_basebackup.

Então isso transmite a idéia errada de que essas ferramentas tem backups complementares, isso que gerou minha dúvida.

Obrigado novamente.
Carlos

Olá, Carlos!

Fico feliz em poder ajudar.

Existe também a possibilidade de isso ser uma prática pessoal do instrutor. Mas ainda assim, você assumiu uma postura correta de análise da situação e questionou se vale a pena ou não adotar tal caminho.

Agradeço pela sua colaboração também, bom que fica como observação para outros estudantes do curso refletirem sobre esse ponto.

Forte abraço!