In den folgenden Abschnitten wird beschrieben, wie Sie eine selbst verwaltete PostgreSQL-Datenbank konfigurieren.
Logische Replikation für die Datenbank aktivieren
Legen Sie den Parameter
wal_level
in Ihrer Datenbank fest, indem Siewal_level=logical
in die Dateipostgresql.conf
einfügen.Starten Sie den Server neu.
Publikation und Replikationsslot erstellen
Melden Sie sich als Superuser in der PostgreSQL-Konsole an.
Erstellen Sie eine Publikation. Wir empfehlen, eine Publikation nur für die Tabellen zu erstellen, die Sie replizieren möchten. So kann Datastream nur die relevanten Daten lesen und die Belastung der Datenbank und von Datastream wird verringert:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;
Ersetzen Sie Folgendes:
- PUBLICATION_NAME: Der Name Ihrer Publikation. Sie werden müssen Sie diesen Namen angeben, wenn Sie einen Stream im Datastream erstellen. Assistent zum Erstellen von Streams.
- 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 Replizieren Sie Änderungen für Tabellen in der angegebenen Liste von Schemas, einschließlich Tabellen erstellen, 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 durch diesen Ansatz sowohl die Quelldatenbank als auch Datastream stärker belastet werden:
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 Ihres Replikationsslots. Sie müssen diesen Namen angeben, wenn Sie einen Stream im Assistenten zum Erstellen von Datastream-Streams erstellen.
Datastream-Nutzer erstellen
Geben Sie die folgenden SQL-Befehle ein, um einen Datastream-Nutzer zu erstellen:
CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
Ersetzen Sie Folgendes:
- USER_NAME: Der Name des gewünschten Datastream-Nutzers. zu erstellen.
- USER_PASSWORD: Anmeldepasswort für den Datastream-Nutzer die Sie erstellen möchten.
Gewähren Sie dem erstellten Nutzer die folgenden Berechtigungen:
ALTER ROLE USER_NAME WITH REPLICATION; 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, dem Sie die Berechtigungen gewähren möchten.