Uma vez que o AlloyDB Omni é compatível com o PostgreSQL, os comandos e as técnicas de restauro de dados descritos no manual do pgBackRest também se aplicam ao AlloyDB Omni. Esta página demonstra uma seleção de tarefas de recuperação comuns, com exemplos de comandos relevantes.
Para mais informações sobre a configuração do pgBackRest para funcionar com o AlloyDB Omni, consulte o artigo Configure o pgBackRest para o AlloyDB Omni.
Antes de começar
Antes de configurar o AlloyDB Omni para funcionar com o pgBackrest, tem de ter o AlloyDB Omni instalado e em execução num servidor que controla.
Um servidor de base de dados de destino que execute a mesma versão principal do AlloyDB Omni que o servidor de base de dados de origem. Para mais informações sobre a instalação do AlloyDB Omni, consulte o artigo Instale o AlloyDB Omni.
O servidor de destino pode ser a mesma máquina que o servidor de origem.
Um repositório de cópias de segurança do pgBackRest que contenha, pelo menos, uma cópia de segurança da base de dados AlloyDB Omni de origem.
Espaço livre suficiente no disco do servidor de destino para armazenar a base de dados restaurada.
Vista geral
Para fazer um restauro do AlloyDB Omni com o pgBackRest, execute o comando pgbackrest restore
. Os argumentos que
fornece ao comando variam consoante a sua situação.
Em geral, executa o comando pgbackrest restore
com flags que fornecem as seguintes informações:
- A localização do seu ficheiro
pgbackrest.conf
. - O nome do repositório de cópias de segurança do pgBackRest a partir do qual quer fazer o restauro. Estes repositórios têm nome e são definidos no ficheiro
pgbackest.conf
. - A localização no sistema de ficheiros local para escrever os dados restaurados.
- Um identificador da cópia de segurança ou do ponto específico no tempo a partir do qual quer fazer a restauração.
Quando executar os comandos pgbackrest restore
em contentores, lembre-se de usar caminhos do sistema de ficheiros do ponto de vista do contentor. Por exemplo, o caminho para o diretório de dados do AlloyDB Omni é sempre /mnt/disks/pgsql
, independentemente da respetiva localização no servidor de anfitrião. Para mais informações, consulte
Uma nota sobre os caminhos do sistema de ficheiros.
Faça um restauro pontual
Este exemplo restaura dados de um repositório pgBackRest, especificando um ponto específico no tempo a partir do qual restaurar. Se tiver definido vários repositórios no ficheiro pgbackrest.conf
do ambiente de destino, o pgBackRest escolhe o repositório a partir do qual restaurar com base na disponibilidade, na velocidade esperada e noutros fatores.
O exemplo pressupõe o seguinte:
Tem um ficheiro
pgbackrest.conf
localizado no nível superior do diretório de dados do AlloyDB Omni de destino. Isto torna o ficheiro disponível para opgbackrest
em contentor como/mnt/disks/pgsql/pgbackrest.conf
.Ativou as cópias de segurança contínuas com a configuração do pgBackRest.
No ambiente de destino, faça um restauro PITR, especificando uma data/hora a partir da qual 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 o seguinte:
STANZA
: a secção de configuração, definida pelo ficheiropgbackrest.conf
, a aplicar a este restauro, por exemplo,omni
.TIMESTAMP
: a hora de restauro. Por exemplo,2024-02-22 19:50:00
.
No ambiente de destino, pare o servidor de base de dados:
sudo alloydb database-server stop
Mude o nome da subdiretoria
data
da diretoria de dados, como precaução de segurança:cd DATA_DIR
sudo mv data data-OLD
Substitua
DATA_DIR
pelo caminho do sistema de ficheiros para o diretório de dados do AlloyDB Omni.Mova os dados restaurados para o respetivo local e limpe o
postgresql.auto.conf
:sudo mv data-RESTORED data
sudo sed -i 's|data-RESTORED|data|' data/postgresql.auto.conf
Inicie o servidor da base de dados:
sudo alloydb database-server start
Já pode estabelecer ligação à sua base de dados através do psql
e confirmar que os dados foram restaurados conforme esperado. Se for o caso, pode eliminar a data-OLD
cópia
do subdiretório data
que criou anteriormente.
Para mais informações sobre a PITR no pgBackRest, consulte o artigo Recuperação num determinado momento.
Para mais informações sobre como preparar um ficheiro pgbackrest.conf
para utilização com o AlloyDB Omni, consulte o artigo Configure o pgBackRest para o AlloyDB Omni.
Outras opções
O comando pgbackrest restore
é muito flexível, com uma variedade de opções e funcionalidades que pode controlar através da transmissão de diferentes opções da linha de comandos. Estas incluem o seguinte:
- Limitar o restauro apenas aos ficheiros alterados.
- Restaurar apenas bases de dados selecionadas.
Para um guia completo sobre como fazer restauros no pgBackRest, consulte Restauro.