Como o AlloyDB Omni é compatível com o PostgreSQL, os comandos e as técnicas de restauração de dados descritos no manual do pgBackRest também se aplicam ao AlloyDB Omni. Nesta página, demonstramos uma seleção de tarefas comuns de recuperação, com exemplos de comandos relevantes.
Para mais informações sobre como configurar o pgBackRest para trabalhar com o AlloyDB Omni, consulte Configurar o pgBackRest para o AlloyDB Omni.
Antes de começar
Antes de configurar o AlloyDB Omni para trabalhar com o pgBackrest, é necessário ter o AlloyDB Omni instalado e em execução em um servidor controlado por você.
Um servidor de banco de dados de destino, executando a mesma versão principal do AlloyDB Omni que o servidor de banco de dados de origem. Para mais informações sobre como instalar o AlloyDB Omni, consulte Instalar o AlloyDB Omni.
O servidor de destino pode ser a mesma máquina do servidor de origem.
Um repositório de backup do pgBackRest que contenha pelo menos um backup do banco de dados de origem do AlloyDB Omni.
Espaço livre em disco suficiente no servidor de destino para armazenar o banco de dados restaurado.
Visão geral
Para realizar uma restauração do AlloyDB Omni usando o pgBackRest, execute
o comando pgbackrest restore
. Os argumentos que você
fornece ao comando variam de acordo com sua situação.
Em geral, você
executa o comando pgbackrest restore
com flags que fornecem as seguintes informações:
- O local do arquivo
pgbackrest.conf
. - O nome do repositório de backup do pgBackRest que você quer restaurar. Esses repositórios são nomeados e definidos no arquivo
pgbackest.conf
. - O local no sistema de arquivos local para gravar os dados restaurados.
- Um identificador do backup ou momento específico que você quer restaurar.
Ao executar os comandos pgbackrest restore
em contêineres, use caminhos do sistema de arquivos do ponto de vista do contêiner. Por exemplo, o caminho
para o diretório de dados do AlloyDB Omni é sempre /mnt/disks/pgsql
,
independente da localização no servidor host. Para mais informações, consulte
Uma observação sobre caminhos do sistema de arquivos.
Fazer uma restauração pontual
Este exemplo restaura dados de um repositório pgBackRest, nomeando um ponto específico no tempo para restaurar. Se você tiver definido vários repositórios no arquivo pgbackrest.conf
do ambiente de destino, o pgBackRest vai escolher o repositório para restaurar com base na disponibilidade, na velocidade esperada e em outros fatores.
O exemplo pressupõe o seguinte:
Você tem um arquivo
pgbackrest.conf
localizado no nível superior do diretório de dados de destino do AlloyDB Omni. Isso disponibiliza o arquivo para opgbackrest
em contêiner como/mnt/disks/pgsql/pgbackrest.conf
.Você ativou backups contínuos com sua configuração do pgBackRest.
No ambiente de destino, faça uma restauração de PITR, especificando um carimbo de data/hora para restaurar:
sudo docker exec pg-service pgbackrest \ --config-path=/mnt/disks/pgsql \ --stanza=STANZA \ --type=time \ --pg1-path=/mnt/disks/pgsql/data-RESTORED \ --target="TIMESTAMP" \ restore
Substitua:
STANZA
: a seção de configuração, definida pelo arquivopgbackrest.conf
, a ser aplicada a esta restauração. Por exemplo,omni
.TIMESTAMP
: o momento em que a restauração será feita, por exemplo,2024-02-22 19:50:00
.
No ambiente de destino, interrompa o servidor de banco de dados:
sudo alloydb database-server stop
Renomeie o subdiretório
data
do diretório de dados como precaução de segurança:cd DATA_DIR
sudo mv data data-OLD
Substitua
DATA_DIR
pelo caminho do sistema de arquivos para o diretório de dados do AlloyDB Omni.Mova os dados restaurados para o lugar certo e limpe
postgresql.auto.conf
:sudo mv data-RESTORED data
sudo sed -i 's|data-RESTORED|data|' data/postgresql.auto.conf
Inicie o servidor de banco de dados:
sudo alloydb database-server start
Agora é possível se conectar ao banco de dados usando o psql
e confirmar se os dados foram restaurados conforme o esperado. Se for o caso, exclua a cópia data-OLD
do subdiretório data
que você criou antes.
Para mais informações sobre a PITR no pgBackRest, consulte Recuperação pontual.
Para mais informações sobre como preparar
um arquivo pgbackrest.conf
para uso com o AlloyDB Omni, consulte Configurar o pgBackRest para o AlloyDB Omni.
Outras opções
O comando pgbackrest restore
é muito flexível, com uma variedade de opções e
recursos que podem ser controlados transmitindo diferentes opções de linha de comando. Isso inclui o seguinte:
- Limitar uma restauração apenas aos arquivos alterados.
- Restaurando apenas os bancos de dados selecionados.
Para um guia completo sobre como fazer restaurações no pgBackRest, consulte Restauração.