1
resposta

[Dúvida] Backup incremental.

no postgres so consigo fazer o restore no tempo como mostrado pelo prefessor

  1. parando o servico do banco? nao consigo fazer com ele ativo, ou seja , a quente?
  2. se na minha instancia tenho mais de um banco e tenho que restaurar no tempo um determinado banco, tenho que combinar com todos os sistemas de ficar offline por um tempo e parar o servico pra restaurar?
  3. posso fazer a restauracao em uma pasta seprada, apagar a pasta do banco no diretorio data, copiar essa pasta que quero restaurar sem fazer stop/start?
1 resposta

Olá Otavio, tudo bem?

Irei responder suas dúvidas por partes, como você elencou.

  1. Backup a quente: No PostgreSQL, é possível realizar backups a quente (ou seja, sem parar o serviço do banco) utilizando a ferramenta pg_basebackup ou configurando o WAL (Write-Ahead Logging) para permitir a recuperação ponto-a-ponto. Mas, a restauração ponto-a-ponto, geralmente requer que o serviço do banco de dados seja parado para garantir a consistência dos dados. Isso ocorre porque a restauração precisa aplicar logs de transações para trazer o banco de dados a um estado consistente.

  2. Restauração de um banco específico: Sim, se você estiver usando backup físico (nível de diretório do cluster). Nesse caso, o backup e a restauração envolvem toda a instância PostgreSQL, e não é possível restaurar apenas um banco isoladamente. Isso acontece porque os dados de todos os bancos compartilham metadados e estruturas internas dentro do diretório data/.

    Com isso, para restaurar um único banco de dados, sem afetar os demais, o caminho recomendado é usar o backup lógico, feito com o comando pg_dump, que permite exportar e restaurar bancos individualmente sem a necessidade de parar o serviço.

  3. Restauração em uma pasta separada: Fazer a restauração em uma pasta separada e depois substituir a pasta do banco de dados no diretório de dados não é uma prática recomendada. Isso pode causar inconsistências e outros problemas. O procedimento correto seria parar o serviço do PostgreSQL, realizar a restauração completa e, em seguida, iniciar o serviço novamente. Isso garante que todas as transações e logs sejam aplicados corretamente.

Abaixo deixo alguns links para complementação, eles estão em inglês, mas você pode usar a tradução automática do navegador.

Espero ter ajudado. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!