Antes de exportar dados, tem de:
Conceda à conta de serviço de exportação do serviço de base de dados acesso de escrita ao contentor de armazenamento de objetos de destino. Esta associação de funções tem de ser criada no mesmo espaço de nomes que o cluster da base de dados do assunto. Consulte o artigo Conceda e obtenha acesso ao armazenamento.
O sistema do serviço de base de dados cria automaticamente esta conta de serviço quando o cluster de base de dados é criado. Para encontrar o espaço de nomes que contém a conta de serviço mantida pelo controlador, use os seguintes comandos:
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 espaço de nomes, a conta de serviço que procura tem o nome
postgresql-export-DATABASE_CLUSTER_NAME.
Substitua DATABASE_CLUSTER_NAME pelo nome do cluster da base de dados para o qual está a exportar dados.
Pode exportar um cluster de base de dados para um ficheiro de despejo de dados através da consola GDC ou da CLI do Distributed Cloud:
Consola
- No menu principal, escolha Serviço de base de dados.
- Selecione o cluster de base de dados que quer exportar. Esta ação direciona para a página Vista geral do cluster de base de dados desse cluster.
- Clique em EXPORTAR. É apresentado o painel Exportar dados.
- No painel Exportar dados, especifique a localização de armazenamento para a qual quer exportar.
- Clique em EXPORTAR. As mensagens no ecrã indicam o estado do processo de exportação.
CLI gcloud
- Antes de usar a Distributed Cloud CLI, instale-a e inicialize-a. Em seguida, autentique a sua organização.
Execute o seguinte comando para exportar um ficheiro de base de dados para um ficheiro de despejo:
gdcloud database export sql DATABASE_CLUSTER \ BUCKET_NAME/SAMPLE.dmp --project=PROJECT_NAMESubstitua o seguinte:
- DATABASE_CLUSTER com o nome do cluster da base de dados a exportar.
- BUCKET_NAME/SAMPLE.dmp com o destino do ficheiro de despejo exportado.
- PROJECT_NAME com o nome do projeto em que o cluster da base de dados se encontra.
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 utilizador onde o cluster de base de dados a exportar é criado.DBCLUSTER_NAME: o nome do cluster da base de dados.BUCKET_NAME: o nome do contentor de armazenamento de objetos para armazenar os ficheiros exportados.