Verbindungen zu PostgreSQL konfigurieren

Erfahren Sie mehr über die Benutzerberechtigungen, die auf der Datenbankseite für die Verbindung zu Oracle GoldenGate erforderlich sind, und Konfigurationsanweisungen zum Einrichten von Verbindungen für PostgreSQL.

Datenbankbenutzer und -berechtigungen für PostgreSQL erteilen

Hier erfahren Sie, wie Sie Datenbankbenutzer erstellen und Berechtigungen für Oracle GoldenGate für PostgreSQL zuweisen.

Oracle GoldenGate-Prozesse erfordern, dass ein Datenbankbenutzer Daten erfasst und an eine PostgreSQL-Datenbank übermittelt. Es wird empfohlen, einen dedizierten PostgreSQL-Datenbankbenutzer für Extract und Replicat zu erstellen.

Die folgenden Datenbankbenutzerberechtigungen sind erforderlich, damit Oracle GoldenGate Daten aus einer PostgreSQL-Datenbank erfassen und auf diese anwenden kann.

Berechtigung Extrahieren Replicat Zweck

Datenbankreplikationsberechtigungen

CONNECT

Ja

Ja

Für Datenbankkonnektivität erforderlich.

GRANT CONNECT ON DATABASE dbname TO gguser;

WITH REPLICATION

Ja

NA

Erforderlich, damit der Benutzer Extract bei einem Replikations-Slot registriert.

ALTER USER gguser WITH REPLICATION;

WITH SUPERUSER

Ja

NA

Erforderlich, um zusätzliches Logging auf Tabellenebene (ADD TRANDATA) zu aktivieren, kann jedoch widerrufen werden, nachdem TRANDATA für die Tabelle(n) aktiviert wurde.

ALTER USER gguser WITH SUPERUSER;

Für Azure Database for PostgreSQL hat nur der Admin-Benutzer SUPERUSER-Berechtigung und ist der einzige Benutzer, der TRANDATA aktivieren kann.

USAGE ON SCHEMA

Ja

Ja

Damit Metadaten auf Tabellen im zu replizierenden Schema zugreifen können.

GRANT USAGE ON SCHEMA tableschema TO gguser;

SELECT ON TABLES

Ja

Ja

Gewähren Sie ausgewählten Zugriff auf zu replizierende Tabellen.

GRANT SELECT ON ALL TABLES IN SCHEMA tableschema TO gguser;

INSERT, UPDATE, DELETE,TRUNCATE in Zieltabellen. Alternativ können Sie beim Replizieren jeder Tabelle die Datei GRANT INSERT, UPDATE, DELETE, TRUNCATE ON ALL TABLES IN SCHEMA TO... für den Replicat-Benutzer verwenden, anstatt jeder Tabelle INSERT, UPDATE, DELETE zu erteilen.

NA

Ja

Replizierte DML auf Zielobjekte anwenden

GRANT INSERT, UPDATE, DELETE, TRUNCATE ON TABLE tablename TO gguser;

Heartbeat- und Checkpoint-Tabellenberechtigungen

CREATE ON DATABASE

Ja

Ja

Für den Extract- und Replicat-Benutzer erforderlich, um ein Oracle GoldenGate-Schema für die Erstellung von Heartbeat- und Checkpoint-Tabellen hinzuzufügen.

GRANT CREATE ON DATABASE dbname TO gguser;

Wenn GGSCHEMA mit dem Benutzer identisch ist, können die Objekte auch unter dem Benutzer erstellt werden, indem CREATE SCHEMA AUTHORIZATION ggsuser; ausgegeben wird.

CREATE, USAGE ON SCHEMA

Ja

Ja

Zum Erstellen/Löschen von Heartbeat- und Checkpoint-Tabellen, wenn der Extract- oder Replicat-Benutzer nicht Eigentümer der Objekte ist.

GRANT CREATE, USAGE ON SCHEMA ggschema TO gguser;

EXECUTE ON ALL FUNCTIONS

Ja

Ja

Zur Ausführung von Heartbeat-Aktualisierungs- und Löschfunktionen, wenn der Benutzer, der die Funktionen aufruft, nicht Eigentümer der Objekte ist.

GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA ggschema TO gguser;

SELECT, INSERT, UPDATE, DELETE

Ja

Ja

Für das Einfügen, Aktualisieren und Löschen von Heartbeat- und Checkpoint-Tabellen, wenn der Benutzer nicht Eigentümer der Objekte ist.

GRANT SELECT, INSERT, UPDATE, DELETE, ON ALL TABLES IN SCHEMA ggschema TO gguser;

Um Daten speziell aus der Standbydatenbank PostgreSQL zu erfassen, benötigen Sie entweder die Berechtigung SUPERUSER oder die Berechtigung pg_read_all_stats sowie die anderen erforderlichen Berechtigungen zum Erfassen von Daten aus der Datenbank PostgreSQL.