在我们的应用程序中,我们需要将特定postgresql表中的事件发布到Kafka中,所以我们决定使用Debezium,但遇到了以下问题:在初始快照期间,消息在Kafka中以意想不到(从我们的角度来看)的顺序显示。事件的顺序对我们的应用程序至关重要,事实上它们必须按照表的整数主键进行排序。AFAIK初始快照只是从表中选择,没有ORDER BY。那么有没有办法或者变通方法让Debezuim postgresql连接器以特定的顺序提取事件呢?
提前感谢!
发布于 2019-10-13 05:48:16
查看connector docs中的snapshot.select.statement.overrides属性。它允许您定制用于特定表的SELECT语句,因此您可以附加所需的ORDER BY子句。
发布于 2019-10-11 21:54:12
不能保证事务日志中插入的顺序与自动生成的主键的顺序相同。对于高并发,不同的顺序将是非常正常的。
如果交易很短,顺序不应该太混乱。
无论如何,您在PostgreSQL端对此无能为力。
https://stackoverflow.com/questions/58342263
复制相似问题