Wenn Sie ein binäres Datenbankarchiv in einem AlloyDB for PostgreSQL-Cluster wiederherstellen möchten, können Sie eine DMP-Datei, die mit dem Tool pg_dump erstellt wurde, im Format custom oder directory 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 zum Ausführen des Verfahrens erstellt wurden.
Hinweis
- Sie benötigen die grundlegende IAM-Rolle „Inhaber“ (
roles/owner) oder „Bearbeiter“ (roles/editor) für das Projekt von Google Cloud , das Sie verwenden, oder Sie müssen die folgenden vordefinierten IAM-Rollen haben:- AlloyDB Admin (
roles/alloydb.admin) oder AlloyDB Viewer (roles/alloydb.viewer) - Storage-Administrator (
roles/storage.admin) - Compute Instance Admin (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 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 von Ihnen importierte DMP-Datei 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 Details aufrufen.
- Stellen Sie eine SSH-Verbindung zur Compute Engine-VM her.
Konsole
- Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
- Klicken Sie in der Liste der VM-Instanzen in der Zeile der gerade 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_IDist die ID des Projekts, das die Instanz enthält.ZONEist 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
Ersetzen Sie Folgendes:
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
Ersetzen Sie Folgendes:
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_restorebietet mehrere zusätzliche Optionen zum Steuern des Datenimportvorgangs.
Ressourcen bereinigen
Nachdem Sie die DMP-Datei erfolgreich importiert haben, können Sie den Cloud Storage-Bucket löschen und die Compute Engine-VM löschen, die Sie während des Importvorgangs verwendet haben.