Importar de um arquivo dump

Antes de importar dados, você precisa:

  1. Crie um cluster de banco de dados para importar os dados.

  2. Faça upload do arquivo dump para um bucket de armazenamento. Consulte as instruções em Fazer upload de objetos para buckets de armazenamento.

  3. Conceda à conta de serviço de importação do Database Service acesso de leitura ao arquivo dump. Consulte Conceder e receber acesso ao armazenamento. Por exemplo, é possível conceder o papel project-bucket-object-viewer à conta de serviço de importação.

    O sistema do Database Service cria automaticamente essa conta de serviço quando o cluster de banco de dados é criado. O status do cluster de banco de dados inclui o nome e o namespace da conta de serviço de importação.

    Para recuperar o nome e o namespace da conta de serviço de importação, execute o seguinte comando:

    kubectl --kubeconfig=MGMT_API_KUBECONFIG \
      get dbcluster.postgresql -n PROJECT_ID DATABASE_CLUSTER_NAME \
      -o jsonpath='{.status.serviceAccounts.import}'
    

    Esse comando retorna um objeto JSON com os detalhes do nome e do namespace: {"name":"postgresql-import-DATABASE_CLUSTER_NAME","namespace":"SERVICE_ACCOUNT_NAMESPACE"}

AVISO: o arquivo dump do banco de dados precisa ser criado usando pg_dump com um formato de arquivo compatível com pg_restore. Os despejos de formato SQL simples (padrão se nenhuma opção de formato for especificada) não são compatíveis.

É possível importar um arquivo dump para um cluster de banco de dados usando o console do GDC ou a CLI do Distributed Cloud:

Console

  1. Abra a página Visão geral do cluster de banco de dados no console do GDC para ver o cluster que contém o banco de dados que você está importando.

  2. Clique em Importar. O painel Importar dados para contas é aberto.

  3. Na seção Origem do painel Importar dados para contas, especifique o local do arquivo dump de dados SQL que você enviou anteriormente.

  4. No campo Destino, especifique um banco de dados de destino para a importação.

  5. Clique em Importar. Um banner no console do GDC mostra o status da importação.

gdcloud

  1. Antes de usar a CLI do Distributed Cloud, instale e inicialize-a. Em seguida, faça a autenticação com sua organização.

  2. Execute o seguinte comando para importar um arquivo dump para um banco de dados:

    gdcloud database import sql DATABASE_CLUSTER BUCKET_NAME/sample.dmp \
        --project=PROJECT_NAME
    

    Substitua:

    • DATABASE_CLUSTER pelo nome do cluster de banco de dados para importar dados.
    • BUCKET_NAME/SAMPLE.dmp pelo local do arquivo dump.
    • PROJECT_NAME pelo nome do projeto em que o cluster de banco de dados está.
  3. Execute o seguinte comando para verificar o status da importação:

    gdcloud database operations list --project=PROJECT_NAME --cluster=DATABASE_CLUSTER
    

API

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Import
metadata:
  name: IMPORT_NAME
  namespace: USER_PROJECT
spec:
  dbclusterRef: DBCLUSTER_NAME
  dumpStorage:
    s3Options:
      bucket: BUCKET_NAME
      key: DUMP_FILE_PATH
    type: S3

Substitua as seguintes variáveis:

  • IMPORT_NAME: o nome da operação de importação.
  • USER_PROJECT: o nome do projeto do usuário em que o cluster de banco de dados a ser importado é criado.
  • DBCLUSTER_NAME: o nome do cluster de banco de dados.
  • BUCKET_NAME: o nome do bucket do repositório de objetos que armazena os arquivos de importação.
  • DUMP_FILE_PATH: o nome do caminho do repositório de objetos para os arquivos armazenados.