Auf dieser Seite wird beschrieben, wie Sie eine DMP-Datei, die mit dem Tool pg_dump
erstellt wurde, im Format custom
oder directory
in eine AlloyDB-Datenbank importieren.
Informationen zum Importieren einer mit dem Tool pg_dump
erstellten Datei im Format plain
finden Sie unter SQL-Datei importieren.
Der Import umfasst die folgenden Aufgaben:
Laden Sie die DMP-Datei in einen Cloud Storage-Bucket hoch.
Bereiten Sie einen Clienthost vor, um den Importvorgang auszuführen.
Importieren Sie die DMP-Datei in die Datenbank.
Bereinigen Sie die Ressourcen, die zum Ausführen des Verfahrens erstellt wurden.
Hinweise
- Sie benötigen die grundlegende IAM-Rolle „Inhaber“ (
roles/owner
) oder „Bearbeiter“ (roles/editor
) im Google Cloud Projekt, das Sie verwenden, 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 einer 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“ in dem Projekt und 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 AlloyDB-Primärinstanz 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 beim Ausführen dieser Anleitung darauf, dass Sie der Compute Engine-VM genügend lokalen Speicherplatz zuweisen, um die DMP-Datei, die Sie importieren, aufzunehmen.Installieren Sie die gcloud CLI, um Befehlszeilenzugriff auf die DMP-Datei im Cloud Storage-Bucket zu erhalten.
DMP-Datei importieren
Wenn Sie die DMP-Datei importieren möchten, rufen Sie die IP-Adresse der primären AlloyDB-Instanz ab, in der sich Ihre Datenbank befindet, und verwenden Sie dann das Tool pg_restore
, um die Datei in die Datenbank zu importieren.
- Rufen Sie die IP-Adresse der primären AlloyDB-Instanz ab, in der sich Ihre Datenbank befindet, indem Sie die zugehörigen 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
Verwenden Sie den Befehl
gcloud compute ssh
, um eine Verbindung zur erstellten Instanz herzustellen.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 TOC-Datei zu erstellen, in der alle
EXTENSION
-Anweisungen auskommentiert sind: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 Inhaltsverzeichnisdatei an, die im lokalen Dateisystem erstellt werden soll.
- DMP-Datei importieren:
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 zum Steuern des Datenimports.
Ressourcen bereinigen
Nachdem Sie die DMP-Datei erfolgreich importiert haben, können Sie den Cloud Storage-Bucket und die Compute Engine-VM löschen, die Sie während des Importvorgangs verwendet haben.