Esportare un cluster di database

Prima di esportare i dati, devi:

Concedi al account di servizio di esportazione del servizio di database l'accesso in scrittura al bucket di archiviazione di oggetti di destinazione. Questa associazione di ruoli deve essere creata nello stesso spazio dei nomi del cluster di database oggetto. Consulta Concedi e ottieni l'accesso allo spazio di archiviazione.

Il sistema del servizio di database crea automaticamente questo account di servizio quando viene creato il cluster di database. Per trovare lo spazio dei nomi che contiene il account di servizio gestito dal controller, utilizza i seguenti comandi:

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}'

Una volta ottenuto lo spazio dei nomi, il account di servizio che stai cercando si chiama postgresql-export-DATABASE_CLUSTER_NAME.

Sostituisci DATABASE_CLUSTER_NAME con il nome del cluster di database in cui stai esportando i dati.

Puoi esportare un cluster di database in un file di dump dei dati utilizzando la console GDC o l'interfaccia a riga di comando di Distributed Cloud:

Console

  1. Dal menu principale, scegli Database Service.
  2. Seleziona il cluster di database che vuoi esportare. Viene visualizzata la pagina Panoramica del cluster di database per quel cluster.
  3. Fai clic su ESPORTA. Viene visualizzato il riquadro Esporta dati.
  4. Nel riquadro Esporta dati, specifica la località di archiviazione in cui eseguire l'esportazione.
  5. Fai clic su ESPORTA. I messaggi sullo schermo indicano lo stato del processo di esportazione.

gdcloud

  1. Prima di utilizzare la CLI gdcloud, installala e inizializzala. Quindi, esegui l'autenticazione con la tua organizzazione.
  2. Esegui questo comando per esportare un file di database in un file di dump:

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

    Sostituisci quanto segue:

    • DATABASE_CLUSTER con il nome del cluster di database da esportare.
    • BUCKET_NAME/SAMPLE.dmp con la destinazione del file di dump esportato.
    • PROJECT_NAME con il nome del progetto in cui si trova il cluster di database.

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

Sostituisci le seguenti variabili:

  • EXPORT_NAME: il nome dell'operazione di esportazione.
  • USER_PROJECT: il nome del progetto utente in cui viene creato il cluster di database da esportare.
  • DBCLUSTER_NAME: il nome del cluster di database.
  • BUCKET_NAME: il nome del bucket di archiviazione di oggetti in cui archiviare i file esportati.