Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Import einer SQL Postgre-Datenbank aus einer Amazon-Instance EC2
Wenn Sie Daten auf einem SQL Postgre-Server auf einer EC2 Amazon-Instance haben und diese auf eine SQL Postgre-DB-Instance verschieben möchten, können Sie diesen Prozess befolgen, um die Daten zu migrieren.
-
Erstellen Sie eine Datei mit pg_dump, die zu ladenden Daten enthält
-
Erstellen Sie die DB-Ziel-Instance
-
Verwenden Sie psql, um die Datenbank auf der DB-Instance zu erstellen und die Daten zu laden
-
Erstellen Sie einen DB-Snapshot der DB-Instance
In den folgenden Abschnitten finden Sie weitere Informationen zu den einzelnen oben aufgeführten Schritten.
Schritt 1: Erstellen einer Datei, die zu ladenden Daten enthält, mit pg_dump
Das pg_dump
Hilfsprogramm verwendet den COPY Befehl, um ein Schema und einen Datendump einer Postgre-Datenbank zu erstellen. SQL Das durch pg_dump
erzeugte Dump-Skript lädt Daten in eine Datenbank mit demselben Namen und erstellt die Tabellen, Indizes und Fremdschlüssel. Sie können den Befehl pg_restore
und den Parameter -d
verwenden, um die Daten in einer Datenbank mit einem anderen Namen wiederherzustellen.
Bevor Sie die Daten-Dumpdatei erstellen, sollten Sie die zu dumpenden Tabellen abfragen, um die Zeilenanzahl zu ermitteln und diese in der DB-Ziel-Instance zu bestätigen.
Der folgende Befehl erstellt eine Dump-Datei mit dem Namen mydb2dump.sql für eine Datenbank mit dem Namen mydb2.
prompt>pg_dump dbname=mydb2 -f mydb2dump.sql
Schritt 2: Erstellen einer DB-Ziel-Instance
Erstellen Sie die SQL Ziel-Postgre-DB-Instance entweder mit der RDS Amazon-Konsole AWS CLI, oderAPI. Achten Sie darauf, dass beim Erstellen der Instance die Einstellung der Sicherungsaufbewahrung auf 0 festgelegt ist und deaktivieren Sie Multi-AZ. Dadurch wird der Datenimport beschleunigt. Bevor Sie die Daten dumpen können, müssen Sie eine Datenbank auf der Instance erstellen. Die Datenbank kann den gleichen Namen wie die in den Dumpdaten enthaltene Datenbank haben. Alternativ können Sie auch eine Datenbank mit einem anderen Namen erstellen. In diesem Fall verwenden Sie den Befehl pg_restore
und den Parameter -d
, um die Daten in einer Datenbank mit einem neuen Namen wiederherzustellen.
Beispielsweise können die folgenden Befehle für das Dumpen, Wiederherstellen und Umbenennen einer Datenbank verwendet werden.
pg_dump -Fc -v -h
[endpoint of instance]
-U[master username]
[database]
>[database]
.dump createdb[new database name]
pg_restore -v -h[endpoint of instance]
-U[master username]
-d[new database name]
[database]
.dump
Schritt 3: Verwenden von psql zum Erstellen der Datenbank auf der DB-Instance und zum Laden der Daten
Sie können dieselbe Verbindung nutzen, die Sie für die Ausführung des Befehls pg_dump verwendet haben, um eine Verbindung mit der DB-Ziel-Instance herzustellen und die Datenbank neu zu erstellen. Mit psql können Sie den Masterbenutzername und das Masterpasswort verwenden, um die Datenbank auf der DB-Instance zu erstellen
Das folgende Beispiel verwendet psql und eine Dump-Datei namens mydb2dump.sql, um eine Datenbank namens mydb2 auf einer SQL Postgre-DB-Instance namens mypginstance zu erstellen:
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:
psql \ -f
mydb2dump.sql
\ --hostmypginstance.555555555555
.aws-region
.rds.amazonaws.com \ --port8199
\ --usernamemyawsuser
\ --passwordpassword
\ --dbnamemydb2
Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:
psql ^ -f
mydb2dump.sql
^ --hostmypginstance.555555555555
.aws-region
.rds.amazonaws.com ^ --port8199
^ --usernamemyawsuser
^ --passwordpassword
^ --dbnamemydb2
Anmerkung
Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.
Schritt 4: Erstellen Sie einen DB-Snapshot der DB-Instance
Sobald Sie überprüft haben, dass die Daten in Ihre DB-Instance geladen wurden, empfehlen wir Ihnen, einen DB-Snapshot der SQL Ziel-Postgre-DB-Instance zu erstellen. -DB-Snapshots sind vollständige Backups von Ihrer DB-Instance, die für eine Backup Ihrer DB-Instance auf einen bekannten Zustand verwendet werden können. Ein DB-Snapshot, der sofort nach einem Ladevorgang erstellt wird, bewahrt Sie davor, die Daten bei einem Fehler erneut laden zu müssen. Einen solchen Snapshot können Sie auch als Ausgangspunkt für neue DB-Instances verwenden. Weitere Informationen zum Erstellen eines DB-Snapshots finden Sie unter Erstellen eines DB-Snapshots für eine Single-AZ-DB-Instance für Amazon RDS.