Debezium 支持捕获 postgres 架构更改事件吗?

问题描述 投票:0回答:2

Debezium 是否支持捕获 postgres 架构更改,例如“alter table xxx add/drop/alter columns xxx”?

postgresql debezium change-data-capture
2个回答
4
投票

似乎是一个老问题,但无论如何,简短的答案是肯定的。在此处查看文档 https://debezium.io/documentation/reference/connectors/postgresql.html 。 有一些例外:

PostgreSQL 连接器检索架构信息作为逻辑解码插件发送的事件的一部分。但是,连接器不会检索有关哪些列构成主键的信息。连接器从 JDBC 元数据(侧通道)获取此信息。如果表的主键定义发生更改(通过添加、删除或重命名主键列),会有一小段时间来自 JDBC 的主键信息与逻辑解码插件生成的更改事件不同步。在这段时间内,可能会使用不一致的密钥结构创建消息。为了防止这种不一致,请按如下方式更新主键结构:

将数据库或应用程序置于只读模式。
让 Debezium 处理所有剩余事件。 停止Debezium。
更新相关表中的主键定义。
将数据库或应用程序置于读/写模式。
重新启动 Debezium。


0
投票

不。 Debezium 不会捕获 PostgreSQL 的单个架构更改事件,因此无法像其他连接器一样通过 Kafka 主题访问架构历史记录。

逻辑解码不支持DDL更改。这意味着连接器无法向消费者报告 DDL 更改事件。

来源

另请参阅捕获从源到接收器的架构更改 (DDL)

但是,更新后的架构会反映在架构更改之后的各个数据更改事件中。

© www.soinside.com 2019 - 2024. All rights reserved.