Para restaurar um arquivo de banco de dados binário em um cluster do AlloyDB para PostgreSQL, é possível
importar um arquivo DMP criado pela ferramenta pg_dump usando o formato custom ou
directory.
Para importar um arquivo criado pela ferramenta pg_dump usando o formato plain, consulte
Importar um arquivo SQL.
O procedimento para realizar a importação envolve estas tarefas:
Faça upload de um arquivo DMP para um bucket do Cloud Storage.
Prepare um host cliente para realizar a operação de importação.
Importe o arquivo DMP para o banco de dados.
Limpe os recursos criados para realizar o procedimento.
Antes de começar
- Você precisa ter o papel básico do IAM de Proprietário (
roles/owner) ou Editor (roles/editor) no projeto do Google Cloud que está usando ou ter estes papéis predefinidos do IAM:- Administrador do AlloyDB (
roles/alloydb.admin) ou Leitor do AlloyDB (roles/alloydb.viewer) - Administrador do Storage (
roles/storage.admin) - Administrador da instância do Compute (v1) (
roles/compute.instanceAdmin.v1)
- Administrador do AlloyDB (
Fazer upload do arquivo DMP
Para enviar o arquivo DMP, crie um bucket do Cloud Storage e envie o arquivo DMP para ele.
Crie um bucket de Standard Storage, Regional Storage no projeto e na região em que está o banco de dados AlloyDB.
Faça upload do arquivo DMP para o bucket de armazenamento que você criou.
Preparar um host cliente
Para preparar um host cliente para realizar a operação de importação, crie uma
VM do Compute Engine que possa se conectar à instância principal do AlloyDB
em que o banco de dados está localizado e instale a ferramenta pg_restore e
a Google Cloud CLI nessa VM.
Siga as instruções em Conectar um cliente psql a uma instância para criar uma VM do Compute Engine com a conectividade adequada e a ferramenta
pg_restoreinstalada. Ao seguir estas instruções, aloque armazenamento local suficiente para a VM do Compute Engine para acomodar o arquivo DMP que você está importando.Instale a CLI gcloud para fornecer acesso de linha de comando ao arquivo DMP no bucket do Cloud Storage.
Importar o arquivo DMP
Para importar o arquivo DMP, pegue o endereço IP da instância primária do AlloyDB em que o banco de dados está e use a ferramenta pg_restore para importar o arquivo para o banco de dados.
- Para conferir o endereço IP da instância principal do AlloyDB em que o banco de dados está, acesse os detalhes dela.
- Conecte-se por SSH à VM do Compute Engine.
Console
- No console do Google Cloud , acesse a página Instâncias de VM.
- Na lista de instâncias de máquina virtual, clique em SSH na
linha da instância que você criou.

gcloud
Use o comando
gcloud compute sshpara se conectar à instância que você criou.gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Substitua:
PROJECT_ID: o ID do projeto que contém a instância.ZONE: o nome da zona em que a instância está localizada.VM_NAME: o nome da instância
- Copie o arquivo DMP para o sistema de arquivos local do host do cliente:
gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
- Execute o comando a seguir para criar um arquivo TOC que comente todas as
instruções
EXTENSION:pg_restore \ -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME
Substitua:
DMP_FILE_NAME: o arquivo DMP no sistema de arquivos local.TOC_FILE_NAME: forneça um nome para o arquivo de TOC a ser criado no sistema de arquivos local.
- Importe o arquivo DMP:
pg_restore -h IP_ADDRESS -U postgres \ -d DB_NAME \ -L TOC_FILE_NAME \ DMP_FILE_NAME
Substitua:
IP_ADDRESS: o endereço IP da instância principal.DB_NAME: o nome do banco de dados para onde os dados serão importados.TOC_FILE_NAME: o arquivo TOC que você criou na etapa anterior.DMP_FILE_NAME: o arquivo DMP.
O comando
pg_restoreoferece várias outras opções para controlar a operação de importação de dados.
Limpar recursos
Depois de importar o arquivo DMP, exclua o bucket do Cloud Storage e a VM do Compute Engine que você usou durante o procedimento de importação.