Beispiel: Verwenden der logischen Replikation mit DB-Clustern von Aurora PostgreSQL - Amazon Aurora

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.

Beispiel: Verwenden der logischen Replikation mit DB-Clustern von Aurora PostgreSQL

Das folgende Verfahren zeigt Ihnen, wie Sie die logische Replikation zwischen zwei DB-Clustern von Aurora PostgreSQL starten. Sowohl der Herausgeber als auch der Abonnent müssen für die logische Replikation konfiguriert sein, wie unter Einrichten der logischen Replikation für Ihren DB-Cluster von Aurora PostgreSQL beschrieben.

Der DB-Cluster von Aurora PostgreSQL, der der designierte Herausgeber ist, muss ebenfalls Zugriff auf den Replikationsslot gewähren. Ändern Sie dazu die Sicherheitsgruppe, die der Virtual Public Cloud (VPC) des DB-Clusters von Aurora PostgreSQL zugeordnet ist, basierend auf dem Amazon-VPC-Service. Erlauben Sie eingehenden Zugriff, indem Sie die Sicherheitsgruppe, die der VPC des Abonnenten zugeordnet ist, zur Sicherheitsgruppe des Herausgebers hinzufügen. Weitere Informationen finden Sie unter Kontrollieren des Datenverkehrs zu Ressourcen mithilfe von Sicherheitsgruppen im Benutzerhandbuch von Amazon VPC.

Nachdem diese vorbereitenden Schritte abgeschlossen sind, können Sie die PostgreSQL-Befehle CREATE PUBLICATION auf dem Herausgeber und CREATE SUBSCRIPTION auf dem Abonnenten verwenden, wie im folgenden Verfahren beschrieben.

So starten Sie den logischen Replikationsprozess zwischen zwei DB-Clustern von Aurora PostgreSQL

Bei diesen Schritten wird davon ausgegangen, dass Ihre DB-Cluster von Aurora PostgreSQL über eine Writer-Instance mit einer Datenbank verfügen, in der die Beispieltabellen erstellt werden können.

  1. Auf dem Herausgeber-DB-Cluster von Aurora PostgreSQL

    1. Erstellen Sie mit der folgenden SQL-Anweisung eine Tabelle.

      CREATE TABLE LogicalReplicationTest (a int PRIMARY KEY);
    2. Fügen Sie mit der folgenden SQL-Anweisung Daten in die Herausgebertabelle ein.

      INSERT INTO LogicalReplicationTest VALUES (generate_series(1,10000));
    3. Stellen Sie sicher, dass Daten in der Tabelle vorhanden sind, indem Sie die folgende SQL-Anweisung verwenden.

      SELECT count(*) FROM LogicalReplicationTest;
    4. Erstellen Sie eine Veröffentlichung für diese Tabelle, indem Sie die CREATE PUBLICATION-Anweisung wie folgt verwenden.

      CREATE PUBLICATION testpub FOR TABLE LogicalReplicationTest;
  2. Auf dem Abonnenten-DB-Cluster von Aurora PostgreSQL

    1. Erstellen Sie wie folgt dieselbe LogicalReplicationTest-Tabelle auf dem Abonnenten, die Sie auf dem Herausgeber erstellt haben.

      CREATE TABLE LogicalReplicationTest (a int PRIMARY KEY);
    2. Stellen Sie sicher, dass diese Tabelle leer ist.

      SELECT count(*) FROM LogicalReplicationTest;
    3. Erstellen Sie ein Abonnement, um die Änderungen vom Herausgeber zu erhalten. Sie müssen die folgenden Details über den Herausgeber-DB-Cluster von Aurora PostgreSQL verwenden.

      • host – Die Writer-DB-Instance des Herausgeber-DB-Clusters von Aurora PostgreSQL.

      • port – Der Port, den die Writer-DB-Instance überwacht. Der Standardwert für PostgreSQL lautet 5432.

      • dbname – Der Name der Datenbank.

      CREATE SUBSCRIPTION testsub CONNECTION 'host=publisher-cluster-writer-endpoint port=5432 dbname=db-name user=user password=password' PUBLICATION testpub;
      Anmerkung

      Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.

      Nachdem das Abonnement erstellt wurde, wird für den Herausgeber ein Slot für die logische Replikation erstellt.

    4. Um für dieses Beispiel zu überprüfen, dass das Anfangsdatum für den Abonnenten repliziert wird, verwenden Sie die folgende SQL-Anweisung für die Abonnenten-Datenbank.

      SELECT count(*) FROM LogicalReplicationTest;

Alle weiteren Änderungen am Herausgeber werden beim Abonnenten repliziert.

Durch die logische Replikation wird die Leistung beeinträchtigt. Es wird empfohlen, die logische Replikation zu deaktivieren, nachdem Ihre Replikationsaufgaben abgeschlossen sind.