Importare un file DMP

Per ripristinare un archivio di database binario in un cluster AlloyDB per PostgreSQL, puoi importare 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 Importa un file SQL.

La procedura per eseguire l'importazione prevede le seguenti attività:

  1. Carica il file DMP in un bucket Cloud Storage.

  2. Prepara un host client per eseguire l'operazione di importazione.

  3. Importa il file DMP nel database.

  4. 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 stai utilizzando oppure devi disporre di questi ruoli IAM predefiniti:
    • AlloyDB Admin (roles/alloydb.admin) o AlloyDB Viewer (roles/alloydb.viewer)
    • Storage Admin (roles/storage.admin)
    • Amministratore istanze Compute (v1) (roles/compute.instanceAdmin.v1)

Carica il file DMP

Per caricare il file DMP, crea un bucket Cloud Storage, quindi carica il file DMP nel bucket.

  1. Crea un bucket di Standard Storage, Regional Storage nel progetto e nella regione dove si trova il tuo database AlloyDB.

  2. Carica il file DMP nel bucket di archiviazione che hai creato.

Prepara un host client

Per preparare un host client per l'esecuzione dell'operazione di importazione, crea una VM Compute Engine che possa connettersi all'istanza principale di AlloyDB in cui si trova il database e installa lo strumento pg_restore e Google Cloud CLI su quella VM.

  1. Segui le istruzioni riportate in Connetti un client psql a un'istanza per creare una VM di Compute Engine con la connettività corretta e lo strumento pg_restore installato. Quando segui queste istruzioni, assicurati di allocare spazio di archiviazione locale sufficiente alla VM di Compute Engine per contenere il file DMP che stai importando.

  2. Installa gcloud CLI per fornire l'accesso da riga di comando al file DMP nel bucket Cloud Storage.

Importa il file DMP

Per importare il file DMP, recupera l'indirizzo IP dell'istanza principale di AlloyDB in cui si trova il tuo database, quindi utilizza lo strumento pg_restore per importare il file nel database.

  1. Ottieni l'indirizzo IP dell'istanza principale di AlloyDB in cui si trova il tuo database visualizzandone i dettagli.
  2. Accedi alla VM Compute Engine tramite SSH.

    Console

    1. Nella console Google Cloud , vai alla pagina Istanze VM.

      Vai a Istanze VM

    2. Nell'elenco delle istanze della macchina virtuale, fai clic su SSH nella riga dell'istanza che hai creato.

      Pulsante SSH accanto al nome dell'istanza.

    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.
  3. Copia il file DMP nel file system locale dell'host client:
    gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
  4. Esegui questo 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

    Sostituisci quanto segue:

    • DMP_FILE_NAME: il file DMP nel file system locale.
    • TOC_FILE_NAME: specifica un nome file per il file del sommario da creare nel file system locale.
  5. Importa il file DMP:
    pg_restore -h IP_ADDRESS -U postgres \
      -d DB_NAME \
      -L TOC_FILE_NAME \
      DMP_FILE_NAME

    Sostituisci quanto segue:

    • 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.

Esegui la pulizia delle risorse

Dopo aver importato correttamente il file DMP, puoi eliminare il bucket Cloud Storage ed eliminare la VM Compute Engine che hai utilizzato durante la procedura di importazione.