CaptureChangePostgreSQL 2025.10.2.19¶
Bundle¶
com.snowflake.openflow.runtime | runtime-database-cdc-processors-nar
Beschreibung¶
Liest CDC-Ereignisse aus einer PostgreSQL-Datenbank. Der Prozessor liest kontinuierlich Ereignisse, die im Stream eintreffen, und filtert nach Ereignissen, die sich auf Tabellen beziehen, die vom TableStateService bereitgestellt werden, und der Rest wird verworfen. Nachdem der aktuelle Batch von Ereignissen verarbeitet wurde, bestätigt der Prozessor die Position des Replikations-Slots zurück an PostgreSQL, sodass der WAL-Wert abgeschnitten wird. Der Prozessor gibt zwei Arten von FlowFiles aus: DDLs, die das anfängliche Schema einer Tabelle enthalten, und jedes Mal, wenn sich das Schema ändert, und DMLs mit Datensätzen, die Änderungen an Daten in der Tabelle darstellen. Ein FlowFile steht immer für Daten, die sich auf eine einzelne Tabelle beziehen. Die DDL mit dem Schema wird in den FlowFile-Inhalt als JSON-Objekt geschrieben: { „columns“: [ { „name“: „<columnName>“, „type“: „<snowflakeType>“, „nullable“: <true|false>, „scale“: <scale>, „precision“: <precision> }, … ], „primaryKeys“: [„<primaryKey1>“, „<primaryKey2>“, …] } Die DML-Datensätze sind wie folgt strukturiert: { „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. |
Replication Slot Name |
Der Name des zu verwendenden Replikations-Slots. Maximal 63 Zeichen. Wenn der Slot nicht existiert, erstellt ihn der Prozessor. |
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 |
TOASTed Value Placeholder |
Der Wert, der in eine TOASTed-Spalte eingefügt werden soll |
TOASTed Value Strategy |
Legt fest, wie TOASTed-Werte behandelt werden sollen |
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 |