Exportar um cluster de banco de dados

Antes de exportar dados, você precisa:

Conceder à conta de serviço de exportação do Database Service acesso de gravação ao bucket de armazenamento de objetos de destino. Essa vinculação de papéis precisa ser criada no mesmo namespace que o cluster de banco de dados do assunto. Consulte Conceder e receber acesso ao armazenamento.

O sistema do Database Service cria automaticamente essa conta de serviço quando o cluster de banco de dados é criado. Para encontrar o namespace que contém a conta de serviço mantida pelo controlador, use os comandos a seguir:

kubectl get dbclusters.postgresql <var>DATABASE_CLUSTER_NAME</var> -n <var>PROJECT_NAMESPACE</var> -o jsonpath='{.status.serviceAccounts.export}'

kubectl get dbclusters.postgresql <var>DATABASE_CLUSTER_NAME</var> -n <var>PROJECT_NAMESPACE</var> -o jsonpath='{.status.serviceAccounts.import}'

Depois de ter o namespace, a conta de serviço que você está procurando será nomeada como postgresql-export-DATABASE_CLUSTER_NAME.

Substitua DATABASE_CLUSTER_NAME pelo nome do cluster de banco de dados em que você está exportando dados.

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

Console

  1. No menu principal, escolha Database Service.
  2. Selecione o cluster de banco de dados que você quer exportar. Isso leva você à página Visão geral do cluster de banco de dados desse cluster.
  3. Clique em EXPORTAR. O painel Exportar dados será aberto.
  4. No painel Exportar dados, especifique o local de armazenamento para exportar.
  5. Clique em EXPORTAR. As mensagens na tela indicam o status do processo de exportação.

CLI gdcloud

  1. Antes de usar a CLI do Distributed Cloud, instale e inicialize. Em seguida, autentique-se na sua organização.
  2. Execute o comando a seguir para exportar um arquivo de banco de dados para um arquivo dump:

    gdcloud database export sql DATABASE_CLUSTER \
         BUCKET_NAME/SAMPLE.dmp --project=PROJECT_NAME
    

    Substitua:

    • DATABASE_CLUSTER pelo nome do cluster de banco de dados a ser exportado.
    • BUCKET_NAME/SAMPLE.dmp com o destino do arquivo dump exportado.
    • PROJECT_NAME pelo nome do projeto em que o cluster de banco de dados está.

API

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Export
metadata:
  name: EXPORT_NAME
  namespace: USER_PROJECT
spec:
  dbclusterRef: DBCLUSTER_NAME
  exportLocation:
    s3Options:
      bucket: BUCKET_NAME
      key: dbs-export
    type: S3

Substitua as seguintes variáveis:

  • EXPORT_NAME: o nome da operação de exportação.
  • USER_PROJECT: o nome do projeto do usuário em que o cluster de banco de dados a ser exportado é criado.
  • DBCLUSTER_NAME: o nome do cluster de banco de dados.
  • BUCKET_NAME: o nome do bucket de armazenamento de objetos para armazenar os arquivos exportados.