Importe um ficheiro de DMP

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:

  1. Carregue o ficheiro da DMP para um contentor do Cloud Storage.

  2. Prepare um anfitrião cliente para realizar a operação de importação.

  3. Importe o ficheiro DMP para a base de dados.

  4. 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)

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.

  1. 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.

  2. 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.

  1. 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.

  2. 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.

  1. Obtenha o endereço IP da instância principal do AlloyDB onde a sua base de dados está localizada vendo os respetivos detalhes.
  2. Estabeleça uma ligação SSH à VM do Compute Engine.

    Consola

    1. Na Google Cloud consola, aceda à página Instâncias de VM.

      Aceder às instâncias de VM

    2. Na lista de instâncias de máquinas virtuais, clique em SSH na linha da instância que criou.

      Botão SSH junto ao nome da instância.

    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.
  3. Copie o ficheiro DMP para o sistema de ficheiros local do anfitrião do cliente:
    gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
  4. 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.
  5. 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.