Esta página descreve como importar para uma base de dados do AlloyDB um ficheiro de DMP criado pela ferramenta pg_dump
através do formato custom
ou directory
.
Para importar um ficheiro criado pela ferramenta pg_dump
com o formato plain
, consulte o artigo
Importe um ficheiro SQL.
O procedimento para realizar a importação envolve estas tarefas:
Carregue o ficheiro da DMP para um contentor do Cloud Storage.
Prepare um anfitrião cliente para realizar a operação de importação.
Importe o ficheiro DMP para a base de dados.
Limpe os recursos criados para realizar o procedimento.
Antes de começar
- Tem de ter a função básica de IAM de proprietário (
roles/owner
) ou editor (roles/editor
) no Google Cloud projeto que está a usar, ou tem de ter estas funções de IAM predefinidas:- Administrador do AlloyDB (
roles/alloydb.admin
) ou leitor do AlloyDB (roles/alloydb.viewer
) - Administrador de armazenamento (
roles/storage.admin
) - Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1
)
- Administrador do AlloyDB (
Carregue o ficheiro de DMP
Para carregar o ficheiro de DMP, crie um contentor do Cloud Storage e, em seguida, carregue o ficheiro de DMP para esse contentor.
Crie um contentor de armazenamento padrão e de armazenamento regional no projeto e na região onde a sua base de dados do AlloyDB está localizada.
Carregue o ficheiro DMP para o contentor de armazenamento que criou.
Prepare um anfitrião do cliente
Para preparar um anfitrião cliente para realizar a operação de importação, cria uma VM do Compute Engine que se possa ligar à instância principal do AlloyDB onde a sua base de dados está localizada e instala a ferramenta pg_restore
e a CLI do Google Cloud nessa VM.
Siga as instruções Ligue um cliente psql a uma instância para criar uma VM do Compute Engine com a conectividade adequada e a ferramenta
pg_restore
instalada. Quando seguir estas instruções, certifique-se de que atribui armazenamento local suficiente à VM do Compute Engine para acomodar o ficheiro DMP que está a importar.Instale a CLI gcloud para fornecer acesso à linha de comando ao ficheiro DMP no contentor do Cloud Storage.
Importe o ficheiro DMP
Para importar o ficheiro DMP, obtém o endereço IP da instância principal do AlloyDB onde a sua base de dados está localizada e, em seguida, usa a ferramenta pg_restore
para importar o ficheiro para a base de dados.
- Obtenha o endereço IP da instância principal do AlloyDB onde a sua base de dados está localizada vendo os respetivos detalhes.
- Estabeleça uma ligação SSH à VM do Compute Engine.
Consola
- Na Google Cloud consola, aceda à página Instâncias de VM.
- Na lista de instâncias de máquinas virtuais, clique em SSH na linha da instância que criou.
gcloud
Use o comando
gcloud compute ssh
para se ligar à instância que criou.gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Substitua o seguinte:
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 ficheiro DMP para o sistema de ficheiros local do anfitrião do cliente:
gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
- Execute o seguinte comando para criar um ficheiro TOC que comente todas as declarações
EXTENSION
:pg_restore \ -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME
DMP_FILE_NAME
: o ficheiro DMP no sistema de ficheiros local.TOC_FILE_NAME
: indique um nome de ficheiro para o ficheiro TOC a criar no sistema de ficheiros local.
- Importe o ficheiro 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 da base de dados para importar.TOC_FILE_NAME
: o ficheiro de CDE que criou no passo anterior.DMP_FILE_NAME
: o ficheiro DMP.
O comando
pg_restore
oferece várias opções adicionais para controlar a operação de importação de dados .
Limpe os recursos
Após importar com êxito o ficheiro da DMP, pode eliminar o contentor do Cloud Storage e eliminar a VM do Compute Engine que usou durante o procedimento de importação.