CaptureChangePostgreSQL 2025.10.2.19¶
Bundle¶
com.snowflake.openflow.runtime | runtime-database-cdc-processors-nar
Description¶
Lit les événements CDC d’une base de données PostgreSQL. Le processeur lit en continu les événements qui arrivent dans le flux, en filtrant ceux liés aux tables fournies par le TableStateService, et en écartant les autres. Une fois le lot d’événements en cours traité, le processeur confirme la position du compartiment de réplication dans PostgreSQL, ce qui permet de réduire le WAL. Le processeur produit deux types de FlowFiles : les DDLs, contenant le schéma initial d’une table, puis chaque fois que son schéma change, et les DMLs avec des enregistrements représentant les modifications apportées aux données de la table. Un FlowFile représente toujours les données relatives à une table. La DDL avec le schéma est écrit dans le contenu du FlowFile en tant qu’objet JSON, sous une forme telle que : { « columns »: [ { « name »: « <columnName> », « type »: « <snowflakeType> », « nullable »: <true|false>, « scale »: <scale>, « precision »: <precision> }, … ], « primaryKeys »: [« <primaryKey1> », « <primaryKey2> », …] Les enregistrements DML sont structurés comme suit : { « primaryKeys »: { « <column> »: <value>, … }, « payload »: { « <column> »: <value>, … }, « metadata »: { « <column> »: <value>, … }
Exigences en matière d’entrées¶
FORBIDDEN
Prend en charge les propriétés dynamiques sensibles¶
false
Propriétés¶
Propriété |
Description |
|---|---|
Column Filter Store |
Service de stockage des paramètres de filtrage des colonnes par table. |
JDBC Driver Location |
Liste séparée par des virgules des fichiers, des dossiers et/ou des URL contenant le pilote JAR et ses dépendances (le cas échéant). Par exemple, « /var/tmp/postgresql-java-client-42.7.5.jar » |
JDBC URL |
URL JDBC de la connexion à la base de données, c’est-à-dire : jdbc:postgresql://localhost:5432/postgres |
Max Batch Size |
Nombre maximal d’enregistrements à traiter en une seule itération |
Max Batch Wait Time |
Temps d’attente maximum pour que les données apparaissent dans le flux CDC. |
Mot de passe |
Mot de passe pour accéder à la base de données PostgreSQL |
Publication Name |
Le nom de la publication CDC à lire. |
Record Writer |
Le Record Writer est utilisé pour sérialiser les événements DML |
Nom de l’emplacement de réplication |
Le nom de l’emplacement de réplication à utiliser. 63 caractères maximum. Si l’emplacement n’existe pas, le processeur le créera. |
Service contextuel SSL |
Service de contexte SSL prenant en charge la communication par socket chiffrée |
Mode SSL |
Détermine s’il convient d’utiliser et d’appliquer SSL lors de la connexion à PostgreSQL |
Espace réservé de valeur TOASTed |
La valeur à insérer dans une colonne TOASTed |
Stratégie de valeur TOASTed |
Détermine la manière de traiter les valeurs TOASTed. |
Table State Store |
Le magasin partagé contenant l’état des tables répliquées. |
NomUtilisateur |
Nom d’utilisateur pour accéder à la base de données PostgreSQL |
Gestion de l’État¶
Champs d’application |
Description |
|---|---|
CLUSTER |
Ce processeur stocke des informations telles qu’un « pointeur » vers l’événement CDC en cours dans la base de données, de sorte qu’il puisse reprendre au même emplacement en cas de redémarrage, ainsi que le nom de l’emplacement de réplication créé dans PostgreSQL. |
Relations¶
Nom |
Description |
|---|---|
success |
Création réussie du FlowFile à partir des événements du flux CDC |
Écrit les attributs¶
Nom |
Description |
|---|---|
source.schema.name |
Nom du schéma de la table d’où provient un événement |
source.table.name |
Nom de la table d’où provient un événement |
cdc.event.type |
Type d’événement porté par le FlowFile : ddl ou dml |
cdc.most.significant.position |
La position la plus importante du DDL dans le flux CDC |
cdc.least.significant.position |
La position la moins importante du DDL dans le flux CDC |
cdc.event.seen.at |
Horodatage du moment où l’événement DDL a été lu par le processeur |