CaptureChangePostgreSQL 2025.5.31.15¶
Bundle¶
com.snowflake.openflow.runtime | runtime-database-cdc-processors-nar
Beschreibung¶
Liest CDC-Ereignisse aus einer PostgreSQL-Datenbank. Der Prozessor liest fortlaufend die Ereignisse, die im Stream ankommen, filtert diejenigen heraus, die mit den von TableStateService bereitgestellten Tabellen in Verbindung stehen, und verwirft den Rest. Nachdem der aktuelle Batch von Ereignissen verarbeitet wurde, bestätigt der Prozessor die Position des Replikationsslots zurück an PostgreSQL und lässt ihn die WAL bearbeiten. Der Prozessor gibt zwei Arten von FlowFiles aus: DDLs, die das ursprüngliche Schema und ein neues Schema bei jeder Schemaänderung enthält, und DMLs mit Datensätzen, die Änderungen an den Daten in der Tabelle darstellen. Ein FlowFile repräsentiert immer Daten, die sich auf eine einzige Tabelle beziehen. Die DDL mit dem Schema wird als JSON-Objekt in den FlowFile-Inhalt geschrieben, in einer Form wie:{ „columns“: [ { „name“: „<columnName>“, „type“: „<snowflakeType>“, „nullable“: <true|false>, „scale“: <scale>, „precision“: <precision> }, … ], „primaryKeys“: [„<primaryKey1>“, „<primaryKey2>“, …]}. Die DML-Datensätze sind wie folgt aufgebaut:{ „primaryKeys“: { „<column>“: <value>, … }, „payload“: { „<column>“: <value>, … }, „metadata“: { „<column>“: <value>, … }}
Eingabeanforderung¶
FORBIDDEN
Unterstützt sensible dynamische Eigenschaften¶
false
Eigenschaften¶
Eigenschaft |
Beschreibung |
---|---|
Column Filter Store |
Dienst, der die Filtereinstellungen für die einzelnen Tabellenspalten speichert. |
JDBC Driver Location |
Durch Kommas getrennte Liste von Dateien/Ordnern und/oder URLs, die den JAR-Treiber und seine Abhängigkeiten (falls vorhanden) enthalten. Zum Beispiel „/var/tmp/postgresql-java-client-42.7.5.jar“ |
JDBC URL |
JDBC-URL der Datenbankverbindung, also jdbc:postgresql://localhost:5432/postgres |
Max Batch Size |
Die maximale Anzahl von Datensätzen, die in einer einzigen Iteration verarbeitet werden |
Max Batch Wait Time |
Die maximale Wartezeit für das Erscheinen von Daten im CDC-Stream. |
Password |
Kennwort für den Zugriff auf die PostgreSQL-Datenbank |
Publication Name |
Der Name der CDC-Veröffentlichung, aus der gelesen werden soll. |
Record Writer |
Der Record Writer wird für die Serialisierung von DML-Ereignissen verwendet. |
SSL Context Service |
SSL Context Service zur Unterstützung verschlüsselter Socket-Kommunikation |
SSL Mode |
Ob SSL bei der Verbindung zu PostgreSQL verwendet und erzwungen werden soll |
Table State Store |
Der gemeinsam genutzte Speicher, in dem der Status replizierter Tabellen gespeichert ist. |
Username |
Benutzername für den Zugriff auf die PostgreSQL-Datenbank |
Statusmanagement¶
Bereiche |
Beschreibung |
---|---|
CLUSTER |
Informationen wie ein „Zeiger“ auf das aktuelle CDC-Ereignis in der Datenbank werden von diesem Prozessor gespeichert, sodass er bei einem Neustart an der gleichen Stelle fortfahren kann, sowie der Name des in PostgreSQL erstellten Replikationsslots. |
Beziehungen¶
Name |
Beschreibung |
---|---|
success |
Erfolgreich erstelltes FlowFile aus CDC-Stream-Ereignissen |
Schreibt Attribute¶
Name |
Beschreibung |
---|---|
source.schema.name |
Name des Schemas der Tabelle, aus der ein Ereignis stammt |
source.table.name |
Name der Tabelle, aus der ein Ereignis stammt |
cdc.event.type |
Typ des Ereignisses, das vom FlowFile übertragen wird: ddl oder dml |
cdc.most.significant.position |
Die höchstwertige Position von DDL im CDC-Stream |
cdc.least.significant.position |
Die niedrigstwertige Position von DDL im CDC-Stream |
cdc.event.seen.at |
Zeitstempel des Zeitpunkts, an dem das DDL-Ereignis vom Prozessor gelesen wurde |