Amazon RDS PostgreSQL-Datenbank für CDC konfigurieren

Auf dieser Seite wird beschrieben, wie Sie Change Data Capture (CDC) konfigurieren, um Daten aus einer Amazon RDS for PostgreSQL-Datenbank in ein unterstütztes Ziel wie BigQuery oder Cloud Storage zu streamen.

Parametergruppe erstellen

  1. Starten Sie das Amazon RDS-Dashboard.

  2. Klicken Sie in der Navigationsleiste auf Parametergruppen und dann auf Parametergruppe erstellen. Die Seite Parametergruppe erstellen wird angezeigt.

  3. Wählen Sie die Datenbankfamilie Ihrer Datenbank aus, geben Sie einen Namen und eine Beschreibung für die Parametergruppe ein und klicken Sie dann auf Erstellen.

  4. Klicken Sie auf das Kästchen links neben der neu erstellten Parametergruppe und dann unter Parametergruppenaktionen auf Bearbeiten.

  5. Legen Sie den folgenden Parameter für Ihre Gruppe fest.

    ParameterWert
    rds.logical_replication1
  6. Klicken Sie auf Änderungen speichern.

Quelldatenbank konfigurieren

  1. Starten Sie Ihr Amazon RDS-Dashboard.

  2. Klicken Sie in der Navigationsleiste auf Datenbanken.

  3. Wählen Sie die Quelle aus und klicken Sie auf Ändern.

  4. Rufen Sie den Abschnitt Zusätzliche Konfiguration auf.

  5. Wählen Sie die erstellte Parametergruppe aus.

  6. Klicken Sie auf Weiter.

  7. Wählen Sie unter Planen von Änderungen die Option Sofort anwenden aus.

Prüfen, ob die Parametergruppe der Datenbankinstanz zugewiesen ist

  1. Starten Sie das Amazon RDS-Dashboard.

  2. Klicken Sie in der Navigationsleiste auf Datenbanken und wählen Sie dann Ihre Datenbankinstanz aus.

  3. Klicken Sie auf den Tab Konfigurationen.

  4. Prüfen Sie, ob die erstellte Parametergruppe angezeigt wird und ihr Status pending-reboot lautet.

  5. Starten Sie die Datenbankinstanz neu, um die Konfiguration abzuschließen. So starten Sie die Instanz neu:

    1. Klicken Sie in der Navigationsleiste auf Instanzen.
    2. Wählen Sie Ihre Datenbankinstanz aus.
    3. Wählen Sie im Menü Instanzaktionen die Option Neustart aus.

Publikation und Replikationsslot erstellen

  1. Publikation erstellen Wir empfehlen, eine Publikation nur für die Tabellen zu erstellen, die Sie replizieren möchten. So kann Datastream nur die relevanten Daten lesen. Das verringert die Belastung der Datenbank und von Datastream:

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;

    Ersetzen Sie Folgendes:

    • PUBLICATION_NAME: Der Name Ihrer Publikation. Sie müssen diesen Namen angeben, wenn Sie einen Stream im Assistenten zum Erstellen von Datastream-Streams erstellen.
    • SCHEMA: Der Name des Schemas, das die Tabelle enthält.
    • TABLE: Der Name der Tabelle, die Sie replizieren möchten.

    Sie können auch eine Publikation für alle Tabellen in Ihrer Datenbank erstellen. Bei diesem Ansatz wird die Last sowohl für die Quelldatenbank als auch für Datastream erhöht:

    CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
    
  2. Erstellen Sie mit dem folgenden PostgreSQL-Befehl einen Replikationsslot:

    SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput'); 

    Ersetzen Sie Folgendes:

    • REPLICATION_SLOT_NAME: Der Name Ihres Replikations-Slots. Sie müssen diesen Namen angeben, wenn Sie einen Stream im Assistenten zum Erstellen von Datastream-Streams erstellen.

Datastream-Nutzer erstellen

  1. Geben Sie den folgenden PostgreSQL-Befehl ein, um einen Datastream-Nutzer zu erstellen:

    CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
    

    Ersetzen Sie Folgendes:

    • USER_NAME: Der Name des Datastream-Nutzers, den Sie erstellen möchten.
    • USER_PASSWORD: Das Anmeldepasswort für den Datastream-Nutzer, den Sie erstellen möchten.
  2. Gewähren Sie dem erstellten Nutzer die folgenden Berechtigungen:

    GRANT RDS_REPLICATION TO USER_NAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME;
    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER_NAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME
      GRANT SELECT ON TABLES TO USER_NAME;
    

    Ersetzen Sie Folgendes:

    • USER_NAME: Der Nutzer, dem Sie die Berechtigungen gewähren möchten.
    • SCHEMA_NAME: Der Name des Schemas, für das Sie die Berechtigungen gewähren möchten.

Nächste Schritte