O PostgreSQL é um sistema de banco de dados relacional de objetos de código aberto que usa e estende a linguagem SQL combinada com muitos recursos que armazenam e escalonam com segurança as cargas de trabalho de dados mais complicadas.
API de backup do PostgreSQL usada pelo Backup e DR
Backups no nível do volume (rastreamento de blocos de mudança do Linux e snapshot do LVM): o Backup e DR usa os comandos
pg_start_backup(label)epg_stop_backup()do PostgreSQL ao realizar backups com o rastreamento de blocos de mudança do Linux e o snapshot do LVM.Backups completos e incrementais (tradicionais baseados em arquivos): o Backup e DR usa os comandos de backups baseados em arquivos
pg_dumpdo PostgreSQL. O comandopg_dumpnão tem uma opção para capturar mudanças incrementais de um banco de dados. Portanto, cada backup é um backup completo do banco de dados.A restauração do banco de dados o recupera substituindo fisicamente a área de dados.
Backup de registros do PostgreSQL: durante um backup de registros, o Backup e DR copia fisicamente todos os WALs do PostgreSQL (
WriteAheadLog). Para limpar os registros, o Backup e DR usa um comando no nível do SO.
Como funciona: backup baseado em volume do Backup e DR com CBT do Linux
Somente os blocos alterados são rastreados no bitmap: sem cópia na gravação, sem operações com uso intenso de E/S.
As etapas a seguir descrevem o processo de backup e recuperação de dados:
O agente do Backup e DR tem CBT para rastrear blocos alterados na área de dados do banco de dados.
O agente chama a API do banco de dados para congelar ou pausar o banco de dados para backup de dados.
O agente cria um snapshot do LVM da área de dados do banco de dados e sintetiza um bitmap.
O agente chama a API do banco de dados para descongelar o banco de dados.
O agente copia os blocos alterados para o dispositivo de backup/recuperação, que exclui o snapshot e cataloga o backup.
O dispositivo emite um snapshot interno e sintetiza um backup completo virtual pontual.
Para a recuperação de dados, o Backup e DR monta instantaneamente um disco de preparação regravável e coloca o banco de dados on-line.
O comando de inatividade ou não inatividade é executado no primário para um job de snapshot no nível do volume:
select pg_start_backup(<label>);
select pg_stop_backup();
Os comandos de inatividade e não inatividade são executados em um nó de espera para um job de snapshot no nível do volume:
Se a versão do PostgreSQL for 10.x ou mais recente:
select pg_wal_replay_pause();
select pg_wal_replay_resume();
Se a versão do PostgreSQL for 9.x:
select pg_xlog_replay_pause();
select pg_xlog_replay_resume();
Como funciona: backup baseado em arquivos
As etapas a seguir descrevem o processo de backup e recuperação de dados com backups baseados em arquivos:
O agente do Backup e DR é implantado no servidor de banco de dados.
Monte o disco de preparação no servidor de banco de dados.
Invoque o backup completo usando o comando de backup de despejo, gravando o backup no disco montado.
O Backup e DR faz um snapshot interno. Os backups de registros são feitos de maneira semelhante diretamente do sistema de arquivos em qualquer programação configurada.
Para a recuperação de dados, o Backup e DR monta instantaneamente o disco de preparação no servidor de banco de dados e inicia a operação de restauração do banco de dados. Os registros podem ser reproduzidos em qualquer momento após a restauração do banco de dados.
A seguir
Preparar o banco de dados para o Backup e DR
Outra documentação do Backup e DR para PostgreSQL
- Backup e DR para PostgreSQL
- Preparar o banco de dados para o Backup e DR
- Adicionar um host de banco de dados do PostgreSQL e descobrir bancos de dados
- Definir modelos de política e perfis de recursos
- Definir detalhes e configurações do aplicativo
- Verificar o formato do disco de preparação e o método de backup
- Proteger o banco de dados do PostgreSQL e os registros dele
- Montar um banco de dados do PostgreSQL
- Recuperar backups do PostgreSQL
- Criar um fluxo de trabalho de backup e DR do PostgreSQL