Restaurando backups

Sintaxe do Comando:

pgsmart backup restore [FLAGS]

Flags:

  • -e, --echo=(off|info|error|all) ⇒ Visualização, em tela, dos detalhes de execução das operações de backup.

    • off ⇒ Não mostra o detalhamento das execuções.

    • info ⇒ Mostra apenas as mensagens informativas.

    • error ⇒ Mostra apenas as mensagens de erro e aviso.

    • all ⇒ Mostra todos os detalhes das execuções.

  • *-q, --quiet ⇒ Execução não interativa para os comandos de backup. Usado em conjunto com as opções --type e --site

  • -s, --site=site ⇒ Nome do ambiente de backup

  • --delta ⇒ Indica que é para sobrescrever os arquivos no local onde será restaurado o backup. Usado em conjunto com a opção --quiet

  • --restore-path=restore-path ⇒ Local onde será restaurado o backup

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

  • -h,--help ⇒ Ajuda

Restauração não interativa:

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

Restauração interativa

pgsmart backup restore
  1. Selecionar o agente do PgSmart (ou registrar 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 selecionado o backup, confirmar 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: 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)

      • Apagar: 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.

  1. Confirmar se o arquivamento de WAL deve ser desabilitado.

  2. Confirmar 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. Desabilitar 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