Voraussetzungen für Snowflake Connector for PostgreSQL-Datenquellen¶
Bemerkung
Der Snowflake Connector for PostgreSQL unterliegt den Nutzungsbedingungen für Konnektoren.
Bevor Sie Snowflake Connector for PostgreSQL installieren, bereiten Sie die zugehörige Datenquelle vor, indem Sie die folgenden Aufgaben durchführen:
Zugehörige Datenquelle konfigurieren¶
Vergewissern Sie sich, dass Sie über einen PostgreSQL-Server Version 11 oder höher verfügen, der Daten enthält, die Sie mit Snowflake synchronisieren möchten. Bevor Sie Snowflake Connector for PostgreSQL installieren, führen Sie in Ihrer PostgreSQL-Umgebung folgende Schritte durch:
Wal_level konfigurieren¶
Snowflake Connector for PostgreSQL erfordert wal_level auf logical
gesetzt.
Je nachdem, wo der PostgreSQL-Server gehostet wird, kann dies auf unterschiedliche Weise geschehen
Vor Ort |
Führen Sie die folgende Abfrage mit dem Superuser oder einem Benutzer mit der Berechtigung
|
RDS |
Dem vom Agenten verwendeten Benutzer muss die Rolle Sie müssen auch Einstellungen vornehmen:
|
AWS Aurora |
Setzen Sie den statischen Parameter |
GCP |
Setzen Sie die folgenden Flags:
|
Azure |
Stellen Sie die Unterstützung der Replikation auf |
Veröffentlichung konfigurieren¶
Snowflake Connector for PostgreSQL erfordert, dass Publikation erstellt und konfiguriert wird.
Melden Sie sich als Benutzer mit der Berechtigung CREATE
in der Datenbank an, und führen Sie die folgende Abfrage aus:
CREATE PUBLICATION <publication name>;
Definieren Sie dann Tabellen, die der Snowflake Connector for PostgreSQL-Agent anzeigen kann:
ALTER PUBLICATION <publication name> ADD TABLE <table name>;
Achtung
Für Postgres v15 und höher
Im Falle von Veröffentlichungen, die für eine Untergruppe von Tabellenspalten erstellt wurden, fügen Sie bitte Tabellen für die Replikation mit der Prozedur ADD_TABLE_WITH_COLUMNS hinzu, und geben Sie dabei genau dieselbe Gruppe von Spalten an.
Wenn ADD_TABLES
verwendet wird, funktioniert der Konnektor zwar, aber es treten folgende nicht offensichtliche Nebenwirkungen auf:
In der Zieldatenbank werden die Spalten, die nicht im Filter enthalten sind, mit dem Suffix
_DELETED
versehen. Alle Daten, die während der Snapshot-Phase repliziert wurden, sind weiterhin vorhanden.Wenn Sie der Publikation weitere Spalten hinzufügen, wird die Tabelle in den Zustand
Permanently Failed
versetzt, sodass die Replikation neu gestartet werden muss.
Weitere Informationen finden Sie unter ALTER PUBLICATION Dokumentation.
Replikations-Slot erstellen¶
Snowflake Connector for PostgreSQL erstellt den Replikations-Slot auf dem PostgreSQL-Server mit einem Namen nach dem Muster sf_db_conn_rs_kbmd_<DATASOURCE NAME>
, wobei <DATASOURCE NAME>
der in der Prozedur ADD_DATA_SOURCE angegebene Name ist.
Wenn der Konnektor nicht mehr verwendet wird, muss der Replikations-Slot entfernt werden, damit sich keine Daten auf dem PostgreSQL-Server ansammeln.
select pg_drop_replication_slot(<slot_name>)
Erforderlichen Benutzer erstellen¶
Erstellen Sie einen Benutzer für Snowflake Connector for PostgreSQL mit dem Attribut REPLICATION
. Weitere Informationen zur Sicherheit der Replikation finden Sie in der Dokumentation PostgreSQL.
Nächste Schritte¶
Führen Sie nach Beendigung dieser Prozeduren die unter Einstellung von Snowflake Connector for PostgreSQL mit Snowsight beschriebenen Schritte aus.