Prima di importare i dati, devi:
Crea un cluster di database in cui importare i dati.
Carica il file di dump in un bucket di archiviazione. Per istruzioni, consulta Carica oggetti nei bucket di archiviazione.
Concedi al account di servizio importazione del servizio di database l'accesso in lettura al file di dump. Consulta Concedi e ottieni l'accesso allo spazio di archiviazione. Ad esempio, puoi concedere il ruolo
project-bucket-object-vieweral account di servizio di importazione.Il sistema del servizio di database crea automaticamente questo account di servizio quando viene creato il cluster di database. Lo stato del cluster di database include sia il nome sia lo spazio dei nomi del account di servizio di importazione.
Per recuperare il nome e lo spazio dei nomi del account di servizio di importazione, esegui questo comando:
kubectl --kubeconfig=MGMT_API_KUBECONFIG \ get dbcluster.postgresql -n PROJECT_ID DATABASE_CLUSTER_NAME \ -o jsonpath='{.status.serviceAccounts.import}'Questo comando restituisce un oggetto JSON contenente i dettagli del nome e dello spazio dei nomi:
{"name":"postgresql-import-DATABASE_CLUSTER_NAME","namespace":"SERVICE_ACCOUNT_NAMESPACE"}
ATTENZIONE: il file di dump del database deve essere creato utilizzando pg_dump con un formato di archivio compatibile con pg_restore.
I dump in formato SQL semplice (predefinito se non viene specificata alcuna opzione di formato) non sono supportati.
Puoi importare un file di dump in un cluster di database utilizzando la console GDC o l'interfaccia a riga di comando di Distributed Cloud:
Console
Apri la pagina Panoramica del cluster di database nella console GDC per visualizzare il cluster che contiene il database che stai importando.
Fai clic su Importa. Viene visualizzato il riquadro Importa dati negli account.
Nella sezione Origine del riquadro Importa dati negli account, specifica la posizione del file di dump dei dati SQL che hai caricato in precedenza.
Nel campo Destinazione, specifica un database di destinazione esistente per l'importazione.
Fai clic su Importa. Un banner nella console GDC mostra lo stato dell'importazione.
gdcloud
Prima di utilizzare Distributed Cloud CLI, installala e inizializzala. Quindi, esegui l'autenticazione con la tua organizzazione.
Esegui questo comando per importare un file di dump in un database:
gdcloud database import sql DATABASE_CLUSTER BUCKET_NAME/sample.dmp \ --project=PROJECT_NAMESostituisci quanto segue:
- DATABASE_CLUSTER con il nome del cluster di database in cui importare i dati.
- BUCKET_NAME/SAMPLE.dmp con la posizione del file di dump.
- PROJECT_NAME con il nome del progetto in cui si trova il cluster di database.
Esegui questo comando per controllare lo stato dell'importazione:
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
Sostituisci le seguenti variabili:
IMPORT_NAME: il nome dell'operazione di importazione.USER_PROJECT: il nome del progetto utente in cui viene creato il cluster di database da importare.DBCLUSTER_NAME: il nome del cluster di database.BUCKET_NAME: il nome del bucket di archiviazione di oggetti in cui sono archiviati i file di importazione.DUMP_FILE_PATH: il nome del percorso di archiviazione degli oggetti ai file archiviati.