In den folgenden Abschnitten wird beschrieben, wie Sie eine Cloud SQL for PostgreSQL-Datenbank konfigurieren.
Logische Replikation aktivieren
Rufen Sie Cloud SQL in der Google Cloud Console auf.
Öffnen Sie die Cloud SQL-Instanz und klicken Sie auf BEARBEITEN.
Gehen Sie zum Abschnitt Flags.
Klicken Sie auf Flag hinzufügen.
Wählen Sie im Drop-down-Menü die Kennzeichnung
cloudsql.logical_decoding
aus.Legen Sie den Flag-Wert auf on fest.
Klicken Sie auf Speichern, um die Änderungen zu speichern. Sie müssen Ihre Instanz neu starten, um die Instanz mit den Änderungen zu aktualisieren.
Nachdem die Instanz neu gestartet wurde, prüfen Sie die Änderungen auf der Übersichtsseite unter Datenbank-Flags.
Publikation und Replikationsslot erstellen
Stellen Sie eine Verbindung zur Datenbank als Nutzer her, der die erforderlichen Berechtigungen zum Erstellen eines Replikationsslots hat. 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 die Berechtigung erteilen möchten Replikationsberechtigungen.
Erstellen Sie eine Publikation. Wir empfehlen, eine Publikation nur für die Tabellen zu erstellen, die Sie replizieren möchten. Dadurch kann Datastream schreibgeschützt die relevanten Daten und senkt die Belastung von Datenbank und 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. Beachten Sie, dass Dieser Ansatz erhöht die Belastung sowohl der Quelldatenbank als auch Datastream:
CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
Erstellen Sie einen Replikationsslot mit dem folgenden SQL-Befehl:
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 Datastream-Streams erstellen.
Datastream-Nutzer erstellen
Stellen Sie eine Verbindung zur Datenbank über einen PostgreSQL-Client her.
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 gewünschten Datastream-Nutzers. zu erstellen.
- USER_PASSWORD: Anmeldepasswort für Datastream den Sie erstellen möchten.
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, dem Sie gewähren möchten. die Berechtigungen zu erteilen.
- USER_NAME: Der Nutzer, dem Sie die Berechtigungen gewähren möchten.