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:
Bereiten Sie einen Clienthost vor, um den Importvorgang auszuführen.
Importieren Sie die DMP-Datei in die Datenbank.
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
)
- AlloyDB Admin (
DMP-Datei hochladen
Zum Hochladen der DMP-Datei erstellen Sie einen Cloud Storage-Bucket und laden dann die DMP-Datei in diesen Bucket hoch.
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.
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.
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.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.
- Rufen Sie die IP-Adresse der primären AlloyDB-Instanz ab, in der sich Ihre Datenbank befindet, indem Sie die Details aufrufen.
- Stellen Sie eine SSH-Verbindung zur Compute Engine-VM her.
Console
- Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
- Klicken Sie in der Liste der VM-Instanzen in der Zeile der von Ihnen erstellten Instanz auf SSH.
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
- Kopieren Sie die DMP-Datei in das lokale Dateisystem des Clienthosts:
gcloud storage cp gs://BUCKET_NAME/DMP_FILE_NAME .
- 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.
- 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.