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_restore
instalada. 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 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 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_restore
oferece 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.