Einrichten des Transports einer PostgreSQL-Datenbank - 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.

Einrichten des Transports einer PostgreSQL-Datenbank

Stellen Sie vor Beginn sicher, dass Ihre DB-Instances von RDS für PostgreSQL die folgenden Anforderungen erfüllen:

  • Die DB-Instances von RDS für PostgreSQL für die Quelle und das Ziel müssen die gleiche Version von PostgreSQL ausführen.

  • Die Ziel-DB darf keine Datenbank mit dem gleichen Namen wie die Quell-DB haben, die Sie transportieren möchten.

  • Das Konto, das Sie zum Ausführen des Transports verwenden, benötigt rds_superuser-Berechtigungen sowohl für die Quell-DB als auch für die Ziel-DB.

  • Die Sicherheitsgruppe für die Quell-DB-Instance muss eingehenden Zugriff von der Ziel-DB-Instance zulassen. Dies ist möglicherweise bereits der Fall, wenn sich Ihre Quell- und Ziel-DB-Instances in der VPC befinden. Weitere Informationen zu Sicherheitsgruppen finden Sie unter Zugriffskontrolle mit Sicherheitsgruppen.

Für den Transport von Datenbanken von einer Quell-DB-Instance zu einer Ziel-DB-Instance sind mehrere Änderungen an der DB-Parametergruppe erforderlich, die mit jeder Instance verknüpft ist. Das bedeutet, dass Sie eine benutzerdefinierte DB-Parametergruppe für die Quell-DB-Instance erstellen und eine benutzerdefinierte DB-Parametergruppe für die Ziel-DB-Instance erstellen müssen.

Anmerkung

Wenn Ihre DB-Instances bereits mit benutzerdefinierten DB-Parametergruppen konfiguriert sind, können Sie mit Schritt 2 im folgenden Verfahren beginnen.

Konfigurieren Sie die benutzerdefinierten DB-Gruppenparameter für den Transport von Datenbanken wie folgt:

Verwenden Sie für die folgenden Schritte ein Konto mit rds_superuser-Berechtigungen.

  1. Wenn die Quell- und Ziel-DB-Instances eine Standard-DB-Parametergruppe verwenden, müssen Sie eine benutzerdefinierte DB-Parametergruppe mit der entsprechenden Version für Ihre Instances erstellen. Sie tun dies, damit Sie Werte für mehrere Parameter ändern können. Weitere Informationen finden Sie unter Parametergruppen für Amazon RDS.

  2. Ändern Sie in der benutzerdefinierten DB-Parametergruppe die Werte für die folgenden Parameter:

    • shared_preload_libraries – Fügen Sie pg_transport zur Liste der Bibliotheken hinzu.

    • pg_transport.num_workers – Der Standardwert ist 3. Erhöhen oder reduzieren Sie diesen Wert nach Bedarf für Ihre Datenbank. Für eine 200-GB-Datenbank empfehlen wir nicht größer als 8. Beachten Sie, dass Sie, wenn Sie den Standardwert für diesen Parameter erhöhen, auch den Wert von max_worker_processes erhöhen sollten.

    • pg_transport.work_mem – Der Standardwert beträgt je nach PostgreSQL-Version entweder 128 MB oder 256 MB. Die Standardeinstellung kann normalerweise unverändert bleiben.

    • max_worker_processes – Der Wert dieses Parameters muss unter Verwendung der folgenden Berechnung festgelegt werden:

      (3 * pg_transport.num_workers) + 9

      Dieser Wert ist am Ziel erforderlich, um verschiedene Hintergrund-Worker-Prozesse abzuwickeln, die am Transport beteiligt sind. Weitere Informationen über max_worker_processes, finden Sie unter Ressourcennutzung in der PostgreSQL-Dokumentation.

    Weitere Informationen zu pg_transport-Parametern finden Sie unter Parameterreferenz für transportable Datenbanken .

  3. Starten Sie die Quell-DB-Instances von RDS für PostgreSQL und die Ziel-Instance neu, damit die Einstellungen für die Parameter wirksam werden.

  4. Stellen Sie eine Verbindung zu Ihrer Quell-DB-Instance von RDS für PostgreSQL her.

    psql --host=source-instance.111122223333.aws-region.rds.amazonaws.com --port=5432 --username=postgres --password
  5. Entfernen Sie fremde Erweiterungen aus dem öffentlichen Schema der DB-Instance. Während des eigentlichen Transportvorgangs ist nur die pg_transport-Erweiterung zulässig.

  6. Installieren Sie die pg_transport-Erweiterung wie folgt:

    postgres=> CREATE EXTENSION pg_transport; CREATE EXTENSION
  7. Stellen Sie eine Verbindung zu Ihrer Ziel-DB-Instance von RDS für PostgreSQL her. Entfernen Sie alle fremden Erweiterungen und installieren Sie dann die pg_transport-Erweiterung.

    postgres=> CREATE EXTENSION pg_transport; CREATE EXTENSION