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 ALTER SYSTEM aus:

ALTER SYSTEM SET wal_level = logical;
Copy

RDS

Dem vom Agenten verwendeten Benutzer muss die Rolle rds_superuser oder rds_replication zugewiesen werden.

Sie müssen auch Einstellungen vornehmen:

  • Statischer rds.logical_replication-Parameter auf 1.

  • Parameter max_replication_slots, max_connections und max_wal_senders entsprechend Ihrer Datenbank- und Replikationseinrichtung.

AWS Aurora

Setzen Sie den statischen Parameter rds.logical_replication auf 1.

GCP

Setzen Sie die folgenden Flags:

  • cloudsql.logical_decoding=on.

  • cloudsql.enable_pglogical=on.

Weitere Informationen finden Sie unter Google Cloud Dokumentation.

Azure

Stellen Sie die Unterstützung der Replikation auf Logical ein. Weitere Informationen finden Sie unter Azure-Dokumentation.

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>;
Copy

Definieren Sie dann Tabellen, die der Snowflake Connector for PostgreSQL-Agent anzeigen kann:

ALTER PUBLICATION <publication name> ADD TABLE <table name>;
Copy

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>)
Copy

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.