debezium 是不是支持捕获 postgres 模式更改事件?
Posted
技术标签:
【中文标题】debezium 是不是支持捕获 postgres 模式更改事件?【英文标题】:Does debezium support capture postgres schema change event?debezium 是否支持捕获 postgres 模式更改事件? 【发布时间】:2020-04-07 13:39:53 【问题描述】:debezium 是否支持捕获 postgres 架构更改,例如“alter table xxx add/drop/alter column xxx”?
【问题讨论】:
postgresql.org/docs/current/event-triggers.html 【参考方案1】:似乎是一个老问题,但无论如何简短的回答是肯定的。在这里查看文档https://debezium.io/documentation/reference/connectors/postgresql.html。 除了一些例外:
PostgreSQL 连接器检索架构信息作为逻辑解码插件发送的事件的一部分。但是,连接器不会检索有关哪些列构成主键的信息。连接器从 JDBC 元数据(侧通道)中获取此信息。如果表的主键定义发生变化(通过添加、删除或重命名主键列),则有一小段时间来自JDBC的主键信息与逻辑解码插件生成的更改事件不同步.在这个微小的时期内,可能会创建具有不一致密钥结构的消息。为防止这种不一致,请按如下方式更新主键结构:
将数据库或应用程序置于只读模式。 让 Debezium 处理所有剩余的事件。 停止 Debezium。 更新相关表中的主键定义。 将数据库或应用程序置于读/写模式。 重启 Debezium。
【讨论】:
以上是关于debezium 是不是支持捕获 postgres 模式更改事件?的主要内容,如果未能解决你的问题,请参考以下文章
table.include.list 配置参数在 Debezium Postgres 连接器中不起作用
需要 Debezium 连接器中用于 postgres 插入事件的主键信息