Daten in Postgre SQL auf Amazon importieren RDS - Amazon Relational Database Service

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.

Daten in Postgre SQL auf Amazon importieren RDS

Angenommen, Sie haben eine bestehende SQL Postgre-Bereitstellung, die Sie zu Amazon RDS migrieren möchten. Wie komplex diese Aufgabe ist, hängt von der Größe Ihrer Datenbank und den Arten von Datenbankobjekten ab, die Sie übertragen. Nehmen wir beispielsweise eine Datenbank mit mehreren Gigabyte an Datensätzen, einschließlich der gespeicherten Prozeduren und Auslöser. Eine solche Datenbank ist komplizierter als eine einfache Datenbank mit nur wenigen Megabyte an Testdaten und ohne Auslöser oder gespeicherten Prozeduren.

Wir empfehlen, dass Sie native Tools für die Migration von SQL Postgre-Datenbanken unter den folgenden Bedingungen verwenden:

  • Sie möchten eine homogene Migration durchführen, bei der die Ausgangsdatenbank denselben Datenbank-Engine hat wie die Zieldatenbank.

  • Sie möchten eine komplette Datenbank migrieren.

  • Die nativen Tools erlauben Ihnen, Ihr System mit einer minimalen Ausfallzeit zu migrieren.

In den meisten anderen Fällen ist die Durchführung einer Datenbankmigration mit dem AWS Database Migration Service (AWS DMS) der beste Ansatz. AWS DMSkann Datenbanken ohne Ausfallzeiten migrieren und bei vielen Datenbank-Engines die fortlaufende Replikation fortsetzen, bis Sie bereit sind, zur Zieldatenbank zu wechseln. Sie können entweder zu derselben Datenbank-Engine oder zu einer anderen Datenbank-Engine migrieren, indem Sie AWS DMS. Wenn Sie zu einer anderen Datenbank-Engine als Ihrer Quelldatenbank migrieren, können Sie die AWS Schema Conversion Tool (AWS SCT) verwenden. Sie verwenden AWS SCT es, um Schemaobjekte zu migrieren, die nicht von migriert wurden. AWS DMS Weitere Informationen zu finden Sie AWS DMS unter Was ist AWS Database Migration Service?

Modifizieren Sie die DB-Parametergruppe so, dass sie nur die folgenden Einstellungen für Ihren Import enthält. Sie sollten die Parametereinstellungen testen, um festzustellen, welches die effizientesten Einstellungen für Ihre DB-Instance-Größe sind. Nach der Import abgeschlossen wurde, müssen Sie auch diese Parameter auf die Produktionswerte zurücksetzen.

Ändern Sie die Einstellungen für Ihre DB-Instance wie folgt:

  • Deaktivieren Sie die DB-Instance-Backups (Sicherungsaufbewahrung auf 0 setzen).

  • Deaktivieren Sie Multi-AZ.

Modifizieren Sie die DB-Parametergruppe so, dass sie die folgenden Einstellungen enthält. Sie sollten beim Importieren von Daten nur diese Einstellungen verwenden. Sie sollten die Parametereinstellungen testen, um festzustellen, welches die effizientesten Einstellungen für Ihre DB-Instance-Größe sind. Nach der Import abgeschlossen wurde, müssen Sie auch diese Parameter auf die Produktionswerte zurücksetzen.

Parameter Empfohlene Werte beim Importieren Beschreibung

maintenance_work_mem

524288, 1048576, 2097152 oder 4194304 (in KB). Diese Einstellungen sind vergleichbar mit 512 MB, 1 GB, 2 GB und 4 GB.

Der Wert für diese Einstellung hängt von der Größe Ihres Hosts ab. Dieser Parameter wird während CREATE INDEX Anweisungen verwendet und jeder parallel Befehl kann so viel Speicher beanspruchen. Berechnen Sie den besten Wert, sodass Sie diesen Wert nicht zu hoch einstellen und Gefahr laufen, keinen Speicherplatz mehr zu haben.

max_wal_size

256 (für Version 9.6), 4096 (für Version 10 und höher)

Maximale Größe, damit der bei automatischen Checkpoints WAL wachsen kann. Eine Erhöhung dieses Parameters kann den Zeitaufwand für die Wiederherstellung nach dem Absturz erhöhen. Dieser Parameter ersetzt checkpoint_segments Postgre SQL 9.6 und höher.

Für SQL Postgre-Version 9.6 ist dieser Wert in 16-MB-Einheiten angegeben. Bei späteren Versionen liegt der Wert bei 1 MB Einheiten. In Version 9.6 bedeutet das beispielsweise 128 Blöcke mit einer Größe von jeweils 16 MB. In Version 12.4 bedeutet das 2 048 Blöcke mit einer Größe von jeweils 1 MB.

checkpoint_timeout

1800

Der Wert für diese Einstellung ermöglicht eine seltenere WAL Rotation.

synchronous_commit

Aus

Deaktivieren Sie diese Einstellungen, um Schreibvorgänge zu beschleunigen. Das Deaktivieren dieses Parameters kann das Risiko eines Datenverlusts bei einem Serverabsturz erhöhen (nicht ausschaltenFSYNC).

wal_buffers

8192

Dieser Wert wird in 8 KB-Einheiten angegeben. Dies wiederum trägt zur Geschwindigkeit Ihrer WAL Generierung bei

autovacuum

0

Deaktivieren Sie den SQL Postgre-Autovakuum-Parameter, während Sie Daten laden, damit er keine Ressourcen verbraucht

Verwenden Sie den Befehl pg_dump -Fc (komprimiert) oder den Befehl pg_restore -j (parallel) mit diesen Einstellungen.

Anmerkung

Der SQL Befehl Postgre pg_dumpall erfordert Super_User-Berechtigungen, die beim Erstellen einer DB-Instance nicht gewährt werden, sodass er nicht für den Import von Daten verwendet werden kann.