Restauração de backups

Sintaxe do Comando

pgsmart backup restore [FLAGS]

Flags:

  • -a, --agent=<value> ⇒ Alias, hostname ou IP do servidor onde o PgSmart Agent desejado está instalado.

  • -b, --backup=<value> [default: Todos] ⇒ Identificador do backup.

  • -h, --help ⇒ Ajuda.

  • -q, --quiet ⇒ Execução não interativa para as operações de backup (exec|info|restore). Usada em conjunto com as opções --site e --agent.

  • -s, --site=<value> [default: Todos] ⇒ Nome do ambiente de backup.

  • -t, --type=(full|diff|incr) [default: incr] ⇒ Tipo do backup.

    • full (Completo) Backup de todos os arquivos da instância.

    • diff (Diferencial) Backup dos arquivos da instância alterados desde o último backup completo.

    • incr (Incremental) Backup dos arquivos da instância alterados desde o último backup, independentemente do tipo.

  • --disable-archive ⇒ Indica que é para desabilitar o arquivamento dos WALs no backup restaurado. Usada em conjunto com a opção --quiet.

  • *--restore-path=<value> [default: Diretório de Dados do ambiente de backup] ⇒ Local onde será restaurado o backup.Usada em conjunto com a opção --quiet.

  • --restore-type=(delta|force) ⇒ Tipo de sobrescrita que será usada, quando existirem arquivos no local onde será restaurado o backup.Usada em conjunto com a opção --quiet.

    • delta Sobrescrever os arquivos usando checksums.

    • force Sobrescrever o diretório completamente.

Restauração não interativa:

pgsmart backup restore -a <agent> -site <nome-do-ambiente-de-backup> --backup <nome-do-backup>  --quiet --restore-type=[delta|force]

Restauração interativa

pgsmart backup restore
  1. Selecione o agente do PgSmart (ou registre um novo).

seleciona agente
  1. O PgSmart fará uma verificação, validando se existe um ambiente de backup cadastrado. Em caso negativo, permitirá o cadastramento de um novo ambiente.

  2. Selecione o ambiente de backup.

seleciona ambiente de backup

O PgSmart fará a validação do ambiente, checando se o serviço do banco de dados está em execução, por exemplo. Entretanto, não impedirá que a operação prossiga (qualquer irregularidade encontrada será apenas informativa). Isto porque o restore independe da situação do ambiente.

  1. O PgSmart apresentará uma lista de backups para que seja selecionado o backup desejado. (indicando o mais recente).

  2. Selecione o backup desejado.

apresenta lista de backups

O id dos backups é criado pelo PgBackRest e sua composição é:

  • Um prefixo indicando o timestamp(data e hora) da criação do backup no formato aammdd-hhmmss.

  • Um sufixo "f", "i" ou "d", indicando o tipo do backup (full, diferencial, incremental).

  • Caso o backup seja do tipo incremental ou diferencial, antes do id do backup corrente, existirá o id do backup completo que o mesmo deriva.

    Exemplo:

    • (full) 20230520-130807F

    • (incr) 20230520-130807F_20230520-130816I

    • (diff) 20230520-130807F_20230523-180002D

    • (full) 20230523-192605F (Backup mais recente)

  1. Após selecionar o backup, confirme se deseja utilizar o PGDATA padrão do ambiente de backup selecionado.

    Caso o diretório de restauração seja o mesmo que aquele configurado para o backup, o PgSmart verificará a existência de serviços em execução na instância (para os quais será necessário confirmar a interrupção, pois a restauração só pode ser realizada com o(s) serviço(s) offline).

    1. O PgSmart verificará a existência de arquivos no diretório e, no caso de identificados, será necessário informar a ação desejada.

      As ações possíveis são:

      • Sobrescrever usando checksums: os arquivos do diretório destino que estão iguais aos arquivos do backup serão mantidos e restaurados apenas os arquivos diferentes. O resultado da restauração será um diretório igual ao do backup. (backup Delta com verificações realizadas por meio dos checksums)

      • Sobrescrever completamente: Todos os arquivos serão apagados e criados novamente a partir do backup. O resultado da restauração será um diretório igual ao do backup, da mesma forma.

      Embora ambas opções levem ao mesmo resultado, a diferença entre as duas é tempo de restauração. A sobrescrita será mais rápida, já que apenas as diferenças serão tratadas.

  2. Confirme se o arquivamento de WAL deve ser desabilitado.

  3. Confirme a execução da restauração.

confirma a restauração
resultado da restauração

Caso o diretório de restauração seja diferente daquele configurado para o backup, o PgSmart verificará o diretório para restauração e, no caso de não existir, confirmará a sua criação. Se a criação não for confirmada, o PgSmart suspende a operação e retorna ao menu inicial.

Como o arquivamento de WAL já está habilitado (o ambiente de backup já está em execução), ou seja, os logs transacionais já estão sendo gerados dentro do repositório de backup, a restauração do backup em um novo ambiente irá restaurar o estado dos parâmetros de configuração do PostgreSQL.

Para evitar que os logs transacionais sejam gravados em um ambiente indesejado (no ambiente de produção quando a restauração está sendo feita em um ambiente de homologação, por exemplo), é necessário desabilitar o arquivamento de WAL. Isto fará com que o PgSmart gere os logs transacionais, reciclando-os dentro do diretório da instância, sem gerar riscos para o ambiente.

A restauração pode ser verificada diretamente no diretório:

cd /var/lib/pgsql/15/datann

Para confirmar os parâmetros de configuração do restore:

cat postgresql.auto.conf