Esta página descreve como importar para um banco de dados do AlloyDB 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 do arquivo DMP para um bucket do Cloud Storage.
Prepare um host de 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 de proprietário (
roles/owner) ou editor (roles/editor) do IAM no projeto 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 faça o upload do arquivo para ele.
Crie um bucket de armazenamento regional padrão no projeto e na região em que está o banco de dados AlloyDB.
Faça o upload do arquivo DMP para o bucket de armazenamento que você criou.
Preparar um host de 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 acomodar o arquivo da DMP que você está importando.Instale a gcloud CLI para fornecer acesso de linha de comando ao arquivo DMP no bucket do Cloud Storage.
Importar o arquivo DMP
Para importar o arquivo DMP, receba o endereço IP da instância primária do AlloyDB em que o banco de dados está localizado e use a ferramenta pg_restore para importar o arquivo para o banco de dados.
- Para conferir o endereço IP da instância primária do AlloyDB em que seu banco de dados está localizado, consulte os detalhes dela.
- Conecte-se por SSH à VM do Compute Engine.
Console
- No console 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 criada.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 comenta todas as instruções
EXTENSION:pg_restore \ -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME
DMP_FILE_NAME: o arquivo DMP no sistema de arquivos local.TOC_FILE_NAME: forneça um nome para o arquivo 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
IP_ADDRESS: o endereço IP da instância principal.DB_NAME: o nome do banco de dados em que a importação será feita.TOC_FILE_NAME: o arquivo TOC que você criou na etapa anterior.DMP_FILE_NAME: o arquivo DMP.
O comando
pg_restoreoferece várias opções adicionais para controlar a operação de importação de dados.
Limpar recursos
Depois de importar o arquivo DMP, você pode excluir o bucket do Cloud Storage e a VM do Compute Engine usada durante o procedimento de importação.