DMP-Datei importieren

Auf dieser Seite wird beschrieben, wie Sie eine DMP-Datei, die mit dem pg_dump-Tool im custom- oder directory-Format erstellt wurde, in eine AlloyDB-Datenbank importieren.

Informationen zum Importieren einer Datei, die mit dem pg_dump-Tool im plain-Format erstellt wurde, finden Sie unter SQL-Datei importieren.

Der Import umfasst die folgenden Aufgaben:

  1. Laden Sie die DMP-Datei in einen Cloud Storage-Bucket hoch.

  2. Bereiten Sie einen Clienthost vor, um den Importvorgang auszuführen.

  3. Importieren Sie die DMP-Datei in die Datenbank.

  4. Bereinigen Sie die Ressourcen, die für die Durchführung des Vorgangs erstellt wurden.

Hinweis

  • Sie benötigen die grundlegende IAM-Rolle „Inhaber“ (roles/owner) oder „Bearbeiter“ (roles/editor) im verwendeten Google Cloud-Projekt oder eine der folgenden vordefinierten IAM-Rollen:
    • AlloyDB Admin (roles/alloydb.admin) oder AlloyDB Viewer (roles/alloydb.viewer)
    • Storage-Administrator (roles/storage.admin)
    • Compute-Instanzadministrator (Version 1) (roles/compute.instanceAdmin.v1)

DMP-Datei hochladen

Zum Hochladen der DMP-Datei erstellen Sie einen Cloud Storage-Bucket und laden dann die DMP-Datei in diesen Bucket hoch.

  1. Erstellen Sie einen regionalen Storage-Bucket der Klasse „Standard Storage“ im Projekt und in der Region, in dem bzw. der sich Ihre AlloyDB-Datenbank befindet.

  2. Laden Sie die DMP-Datei in den von Ihnen erstellten Storage-Bucket hoch.

Clienthost vorbereiten

Um einen Clienthost für den Importvorgang vorzubereiten, erstellen Sie eine Compute Engine-VM, die eine Verbindung zur primären AlloyDB-Instanz herstellen kann, in der sich Ihre Datenbank befindet. Installieren Sie dann das pg_restore-Tool und die Google Cloud CLI auf dieser VM.

  1. Folgen Sie der Anleitung unter Psql-Client mit einer Instanz verbinden, um eine Compute Engine-VM mit der richtigen Konnektivität und dem installierten pg_restore-Tool zu erstellen. Achten Sie bei der Ausführung dieser Anleitung darauf, der Compute Engine-VM genügend lokalen Speicherplatz zuzuweisen, um die zu importierende DMP-Datei aufzunehmen.

  2. Installieren Sie die gcloud CLI, um Befehlszeilenzugriff auf die DMP-Datei im Cloud Storage-Bucket zu ermöglichen.

DMP-Datei importieren

Um die DMP-Datei zu importieren, rufen Sie die IP-Adresse der primären AlloyDB-Instanz ab, in der sich Ihre Datenbank befindet, und importieren Sie die Datei dann mit dem Tool pg_restore in die Datenbank.

  1. Rufen Sie die IP-Adresse der primären AlloyDB-Instanz ab, in der sich Ihre Datenbank befindet, indem Sie die Details aufrufen.
  2. Stellen Sie eine SSH-Verbindung zur Compute Engine-VM her.

    Console

    1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

      Zu „VM-Instanzen“

    2. Klicken Sie in der Liste der VM-Instanzen in der Zeile der von Ihnen erstellten Instanz auf SSH.

      SSH-Schaltfläche neben dem Instanznamen.

    gcloud

    Stellen Sie mit dem Befehl gcloud compute ssh eine Verbindung zur von Ihnen erstellten Instanz her.

    gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME

    Ersetzen Sie Folgendes:

    • PROJECT_ID: Die ID des Projekts, das die Instanz enthält.
    • ZONE ist der Name der Zone, in der sich die Instanz befindet.
    • VM_NAME: Name der Instanz
  3. Kopieren Sie die DMP-Datei in das lokale Dateisystem des Clienthosts:
    gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
  4. Führen Sie den folgenden Befehl aus, um eine Inhaltsverzeichnisdatei zu erstellen, in der alle EXTENSION-Anweisungen kommentiert werden:
    pg_restore \
    -l DMP_FILE_NAME | sed -E 's/(.* EXTENSION )/; \1/g' > TOC_FILE_NAME
    • DMP_FILE_NAME: Die DMP-Datei im lokalen Dateisystem.
    • TOC_FILE_NAME: Geben Sie einen Dateinamen für die TOC-Datei an, die im lokalen Dateisystem erstellt werden soll.
  5. Importieren Sie die DMP-Datei:
    pg_restore -h IP_ADDRESS -U postgres \
      -d DB_NAME \
      -L TOC_FILE_NAME \
      DMP_FILE_NAME
    
    • IP_ADDRESS: Die IP-Adresse der primären Instanz.
    • DB_NAME: Der Name der Datenbank, in die importiert werden soll.
    • TOC_FILE_NAME: Die TOC-Datei, die Sie im vorherigen Schritt erstellt haben.
    • DMP_FILE_NAME: Die DMP-Datei.

    Der Befehl pg_restore bietet mehrere zusätzliche Optionen zur Steuerung des Datenimports.

Ressourcen bereinigen

Nachdem Sie die DMP-Datei importiert haben, können Sie den Cloud Storage-Bucket und die Compute Engine-VM löschen, die Sie während des Importvorgangs verwendet haben.