Questa pagina descrive come importare in un database AlloyDB un file DMP creato dallo strumento pg_dump
utilizzando il formato custom
o directory
.
Per importare un file creato dallo strumento pg_dump
utilizzando il formato plain
, consulta
Importare un file SQL.
La procedura per eseguire l'importazione prevede le seguenti attività:
Carica il file DMP in un bucket Cloud Storage.
Prepara un host client per eseguire l'operazione di importazione.
Importa il file DMP nel database.
Esegui la pulizia delle risorse create per eseguire la procedura.
Prima di iniziare
- Devi disporre del ruolo IAM di base Proprietario (
roles/owner
) o Editor (roles/editor
) nel progetto Google Cloud che utilizzi oppure devi disporre di questi ruoli IAM predefiniti:- AlloyDB Admin (
roles/alloydb.admin
) o AlloyDB Viewer (roles/alloydb.viewer
) - Storage Admin (
roles/storage.admin
) - Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
)
- AlloyDB Admin (
Carica il file DMP
Per caricare il file DMP, crea un bucket Cloud Storage e poi carica il file DMP nel bucket.
Crea un bucket di archiviazione regionale di archiviazione standard nel progetto e nella regione in cui si trova il tuo database AlloyDB.
Carica il file DMP nel bucket di archiviazione che hai creato.
Preparare un host client
Per preparare un host client a eseguire l'operazione di importazione, crea una VM Compute Engine che possa connettersi all'istanza principale AlloyDB in cui si trova il tuo database e installa lo strumento pg_restore
e l'interfaccia a riga di comando Google Cloud sulla VM.
Segui le istruzioni riportate nell'articolo Connetti un client psql a un'istanza per creare una VM Compute Engine con la connettività corretta e lo strumento
pg_restore
installato. Quando segui queste istruzioni, assicurati di allocare allo spazio di archiviazione locale della VM Compute Engine sufficiente spazio per il file DMP che stai importando.Installa gcloud CLI per fornire accesso da riga di comando al file DMP nel bucket Cloud Storage.
Importa il file DMP
Per importare il file DMP, ottieni l'indirizzo IP dell'istanza principale di AlloyDB in cui si trova il tuo database e poi utilizza lo strumento pg_restore
per importare il file nel database.
- Per ottenere l'indirizzo IP dell'istanza principale di AlloyDB in cui si trova il tuo database, visualizza i dettagli.
- Accedi tramite SSH alla VM Compute Engine.
Console
- Nella console Google Cloud, vai alla pagina Istanze VM.
- Nell'elenco delle istanze della macchina virtuale, fai clic su SSH nella riga dell'istanza che hai creato.
gcloud
Utilizza il comando
gcloud compute ssh
per connetterti all'istanza che hai creato.gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto che contiene l'istanza.ZONE
: il nome della zona in cui si trova l'istanza.VM_NAME
: il nome dell'istanza.
- Copia il file DMP nel file system locale dell'host client:
gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
- Esegui il seguente comando per creare un file TOC che commenta tutte le istruzioni
EXTENSION
:pg_restore \ -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME
DMP_FILE_NAME
: il file DMP nel sistema di file locale.TOC_FILE_NAME
: fornisci un nome per il file TOC da creare sul file system locale.
- Importa il file DMP:
pg_restore -h IP_ADDRESS -U postgres \ -d DB_NAME \ -L TOC_FILE_NAME \ DMP_FILE_NAME
IP_ADDRESS
: l'indirizzo IP dell'istanza principale.DB_NAME
: il nome del database in cui eseguire l'importazione.TOC_FILE_NAME
: il file TOC creato nel passaggio precedente.DMP_FILE_NAME
: il file DMP.
Il comando
pg_restore
fornisce diverse opzioni aggiuntive per controllare l'operazione di importazione dei dati.
Liberare le risorse
Dopo aver importato correttamente il file DMP, puoi eliminare il bucket Cloud Storage ed eliminare la VM Compute Engine utilizzata durante la procedura di importazione.