Cloud SQL for PostgreSQL-Datenbank konfigurieren

In den folgenden Abschnitten wird beschrieben, wie Sie eine Cloud SQL for PostgreSQL-Datenbank konfigurieren.

Logische Replikation aktivieren

  1. Rufen Sie Cloud SQL in der Google Cloud Console auf.

  2. Öffnen Sie die Cloud SQL-Instanz und klicken Sie auf BEARBEITEN.

  3. Rufen Sie den Abschnitt Flags auf.

  4. Klicken Sie auf Flag hinzufügen.

  5. Wählen Sie im Drop-down-Menü das Flag cloudsql.logical_decoding aus.

  6. Legen Sie den Flag-Wert auf on fest.

  7. Klicken Sie auf Speichern, um die Änderungen zu speichern. Sie müssen die Instanz neu starten, um sie mit den Änderungen zu aktualisieren.

  8. Prüfen Sie nach dem Neustart der Instanz die Änderungen auf der Seite Übersicht unter Datenbank-Flags.

Publikation und Replikationsslot erstellen

  1. Stellen Sie als Nutzer mit den erforderlichen Berechtigungen eine Verbindung zur Datenbank her, um einen Replikationsslot zu erstellen. Andernfalls führen Sie den folgenden Befehl aus:

    ALTER USER USER_NAME WITH REPLICATION;
    

    Ersetzen Sie Folgendes:

    • USER_NAME: Der Name des Nutzers, dem Sie Replikationsberechtigungen gewähren möchten.
  2. Erstellen Sie eine Publikation. Wir empfehlen, eine Publikation nur für die Tabellen zu erstellen, die Sie replizieren möchten. Dadurch kann Datastream die relevanten Daten nur lesen und die Datenbank und Datastream entlasten:

    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 eine Publikation für alle Tabellen in einem Schema erstellen. Mit diesem Ansatz können Sie Änderungen für Tabellen in der angegebenen Liste von Schemas replizieren, einschließlich Tabellen, die Sie zukünftig erstellen:

    CREATE PUBLICATION PUBLICATION_NAME
    FOR TABLES IN SCHEMA1, SCHEMA2;

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

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

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

    Ersetzen Sie Folgendes:

    • REPLICATION_SLOT_NAME: Der Name des Replikationsslots. Sie müssen diesen Namen angeben, wenn Sie einen Stream im Assistenten zum Erstellen von Datenstreams erstellen.

Datastream-Nutzer erstellen

  1. Stellen Sie über einen PostgreSQL-Client eine Verbindung zur Datenbank her.

  2. Geben Sie den folgenden PostgreSQL-Befehl ein:

    CREATE USER USER_NAME WITH REPLICATION LOGIN 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.
  3. Gewähren Sie dem erstellten Nutzer die folgenden Berechtigungen:

    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:

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