In den folgenden Abschnitten wird beschrieben, wie Sie eine Amazon Aurora PostgreSQL-Datenbank konfigurieren.
Parametergruppe erstellen
- Starten Sie das Amazon RDS-Dashboard.
- Klicken Sie in der Navigationsleiste auf Parametergruppen und dann auf Parametergruppe erstellen. Die Seite Parametergruppe erstellen wird angezeigt.
- Füllen Sie die Felder dieser Seite mithilfe der folgenden Tabelle aus. Klicken Sie dann auf Erstellen:
Feld Beschreibung Parametergruppen-Familie Wählen Sie die Familie Ihrer Datenbank aus. Typ Wählen Sie die Parametergruppe des DB-Clusters aus. Gruppenname Geben Sie einen Namen für die Parametergruppe ein. Beschreibung Geben Sie eine Beschreibung für die Parametergruppe ein. - Klicken Sie auf das Kästchen links neben der neu erstellten Parametergruppe und dann unter Parametergruppenaktionen auf Bearbeiten.
- Ändern Sie den Wert des Parameters
rds.logical_replication
in 1. - Klicken Sie auf Änderungen speichern.
Parametergruppe der Datenbankinstanz zuweisen
- Starten Sie das Amazon RDS-Dashboard.
- Klicken Sie in der Navigationsleiste auf Datenbanken und wählen Sie dann Ihre Datenbankinstanz aus.
- Wählen Sie im Menü Instanzaktionen die Option Ändern aus. Das Dialogfeld DB-Instanz ändern wird angezeigt.
- Wählen Sie im Abschnitt Zusätzliche Konfiguration die Parametergruppe des Datenbankclusters aus, die Sie erstellt haben.
- Legen Sie den Zeitraum für die Sicherungsaufbewahrung auf 7 Tage fest.
- Klicken Sie auf Weiter.
- Wählen Sie im Bereich Planen von Änderungen die Option Sofort anwenden aus.
Datenbankinstanz neu starten
- Starten Sie Ihr Amazon RDS-Dashboard.
- Klicken Sie in der Navigationsleiste auf Datenbanken und wählen Sie dann Ihre Datenbankinstanz aus.
- Wählen Sie im Drop-down-Menü Aktionen die Option Neustarten und dann Bestätigen aus.
Publikation und Replikationsslot erstellen
Erstellen Sie eine Publikation für die Änderungen in den Tabellen, die Sie replizieren möchten. 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 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 in Zukunft erstellen:
CREATE PUBLICATION PUBLICATION_NAME FOR TABLES IN SCHEMA 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;
Geben Sie den folgenden PostgreSQL-Befehl ein, um einen Replikationsslot zu erstellen:
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
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 Passwort für den Datastream-Nutzer, den Sie erstellen möchten.
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:
- SCHEMA_NAME: Der Name des Schemas, dem Sie die Berechtigungen gewähren möchten.
- USER_NAME: Der Nutzer, dem Sie die Berechtigungen gewähren möchten.