Eu tenho um servidor com muitos bancos de dados...contém cerca de 20 bancos de dados. Alguns deles têm 16 milhões de linhas, mas não tantos. Geralmente, há pouca ou nenhuma atividade à noite, mas não tão ocupado durante o dia (exceto se houver um evento, como novo registro ou atualização de membro). Embora não ocupados, os bancos de dados contêm dados críticos. Nenhum dos bancos de dados foi copiado por mais de um ano!
Como posso apoiá-los com segurança sem travar o servidor? O que eu preciso como requisito inicial? Eu li muitas estratégias de backup, mas sou excessivamente cauteloso, pois não quero fazer coisas bobas. Eu quero desenvolver o método de backup mais seguro e "facilmente" recuperável.
No momento, ativei o arquivamento e já está funcionando bem.
Qualquer conselho bem-vindo ou talvez haja artigos que eu deveria ler.
Meu ambiente: Postgres 12 rodando no Ubuntu 20
Obrigado
Não ter um backup, causará muito mais frustração, quando o banco de dados estiver corrompido, quebrado ou se tornar indisponível.
É um cálculo bem simples:
Sem backup
Cópia de segurança
pg_basebackup
A seguir está um trecho da
pg_basebackup
ferramenta, que é fornecida com o PostgreSQL:( ênfase minha)
pg_basebackup (Documentação do PostgreSQL 12
Fazendo um backup básico
Depois que tudo estiver configurado (leia toda a documentação), você poderá realizar um backup básico usando o seguinte comando:
Isso pode ser usado em um prompt interativo do bash. Ao configurar um trabalho crontab, você terá que criar um
.pgpass
arquivo. Isso permitirá que você execute o comando como um trabalho crontab, sem precisar digitar uma senha.Por favor, leia 33.15. O Arquivo de Senhas (Documentação do PostgreSQL) para obter mais detalhes.
Arquivamento constante de WAL
O artigo 25.3. O arquivamento contínuo e recuperação pontual (PITR) contém informações sobre como arquivar os arquivos WAL (write ahead log) que o PostgreSQL cria. Esses arquivos são necessários para restaurar um cluster PostgreSQL para um determinado momento.
Você então simplesmente copia o conteúdo do
WAL
diretório para um destino de sua escolha ou faz backup desses arquivos e tem um trabalho que exclui arquivos antigos depois que eles foram copiados para um local seguro.Recomendação geral
Leia a seção Capítulo 25. Backup e Restauração da documentação oficial do PostgreSQL. Se você não conseguir entender como implementar uma estratégia de backup, entre em contato com um consultor que possa apoiá-lo na implementação de uma solução. Não há nada pior do que não ter um backup de banco de dados quando o proverbial "s.. bate no ventilador".
Ter um backup básico o deixará parcialmente coberto. Se você pode executar isso diariamente, então você está na metade do caminho. Mas se isso não for viável, você precisará pelo menos configurar o arquivamento do WAL.