CaptureChangePostgreSQL 2025.5.31.15¶
捆绑包¶
com.snowflake.openflow.runtime | runtime-database-cdc-processors-nar
描述¶
从 PostgreSQL 数据库读取 CDC事件。处理器持续读取流中到达的事件,筛选与 TableStateService 提供的表相关的事件,并丢弃其余事件。当前批次事件处理完成后,处理器确认复制槽位置回到 PostgreSQL,让其修剪 WAL。处理器输出两种类型的 FlowFile:DDLs,包含表初始架构,然后每次架构发生变化时都会输出;DMLs,包含表中数据变化的记录。一个 FlowFile 始终代表与单个表相关的数据。将 DDL 架构作为 JSON 对象写入 FlowFile 内容,例如:{ "columns": [ { "name": "<columnName>", "type": "<snowflakeType>", "nullable": <true|false>, "scale": <scale>, "precision": <precision> }, ... ], "primaryKeys": ["<primaryKey1>", "<primaryKey2>", ...]}DML 记录的结构为:{ "<column>": <value>, ... }, "payload": { "<column>": <value>, ... }, "metadata": { "<column>": <value>, ... }}
输入要求¶
FORBIDDEN
支持敏感的动态属性¶
false
属性¶
属性 |
描述 |
---|---|
列筛选存储 |
存储每个表列筛选设置的服务。 |
JDBC 驱动程序位置 |
以逗号分隔的文件/文件夹列表和/或 URLs,包含驱动程序 JAR 及其依赖项(如果有)。例如“/var/tmp/postgresql-java-client-42.7.5.jar” |
JDBC URL |
数据库连接的 JDBC URL,即 jdbc:postgresql://localhost:5432/postgres |
最大批处理大小 |
单次迭代中要处理的最大记录数 |
最长批处理等待时间 |
等待数据出现在 CDC 流中的最长时间。 |
密码 |
访问 PostgreSQL 数据库的密码 |
发布名称 |
要读取的 CDC 发布名称。 |
记录写入器 |
用于序列化 DML 事件的记录写入器 |
SSL Context Service |
支持加密套接字通信的 SSL Context Service |
SSL 模式 |
连接 PostgreSQL 时是否使用和强制执行 SSL |
表状态存储 |
保存复制表状态的共享存储。 |
用户名 |
访问 PostgreSQL 数据库的用户名 |
状态管理¶
范围 |
描述 |
---|---|
CLUSTER |
该处理器会存储数据库中当前 CDC 事件的“pointer”等信息,以便在重新启动时从同一位置继续运行,以及在 PostgreSQL 中创建的复制槽的名称。 |
关系¶
名称 |
描述 |
---|---|
success |
通过 CDC 流活动成功创建 FlowFile |
写入属性¶
名称 |
描述 |
---|---|
source.schema.name |
事件来源表的架构名称 |
source.table.name |
事件来源表的名称 |
cdc.event.type |
FlowFile 携带的事件类型:ddl 或 dml |
cdc.most.significant.position |
Ddl 在 cdc 流中最重要的位置 |
cdc.least.significant.position |
Ddl 在 cdc 流中最不重要的位置 |
cdc.event.seen.at |
处理器读取 ddl 事件的时间戳 |