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 em 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
- É necessário ter a função básica de proprietário (
roles/owner
) ou editor (roles/editor
) do IAM no projeto do Google Cloud que você 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 armazenamento regional padrão no projeto e na região em que está localizado o banco de dados AlloyDB.
Faça o upload do arquivo DMP para o bucket de armazenamento criado.
Preparar um host de cliente
Para preparar um host do 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 seu banco de dados está localizado e instale a ferramenta pg_restore
e
a Google Cloud CLI nessa VM.
Siga as instruções Conectar um cliente psql a uma instância para criar uma VM do Compute Engine com a conectividade adequada e a ferramenta
pg_restore
instalada. Ao seguir estas instruções, aloque armazenamento local suficiente para a VM do Compute Engine e adapte o arquivo 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, você precisa saber o endereço IP da instância principal do AlloyDB em que seu banco de dados está localizado e usar a ferramenta pg_restore
para importar o arquivo para o banco de dados.
- Acesse o endereço IP da instância principal do AlloyDB em que seu banco de dados está localizado confira os detalhes.
- Conecte-se por SSH à VM do Compute Engine.
Console
- No console do Google Cloud, acesse a página Instâncias de VMs.
- 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 ssh
para 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 abaixo para criar um arquivo de índice 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
: fornece um nome de arquivo 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
IP_ADDRESS
: o endereço IP da instância principal.DB_NAME
: o nome do banco de dados para importar.TOC_FILE_NAME
: o arquivo de TOC que você criou na etapa anterior.DMP_FILE_NAME
: o arquivo DMP.
O comando
pg_restore
oferece várias outras opções 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.