要实现NIFI对接postgresql来获取postgresql的CDC日志数据,然后实现增量的数据同步,那么首先要,对postgresql配置开启cdc日志,开启postgresql的逻辑复制槽,这个步骤,可以参考:
https://credream.blog.csdn.net/article/details/131067736?spm=1001.2014.3001.5502
centos7.9下给Postgresql11安装wal2json插件_并获取CDC增量同步数据_同时通过分页解决变更记录数据过大_获取效率低的问题---PostgreSQL工作笔记003
这篇文章.
然后首先我们考虑到,如果一个表,或者多个表的变更记录非常大,那么,我们可能需要对变更记录进行分页.
先看一下用来查询cdc数据的sql:
SELECT * FROM pg_create_logical_replication_slot('myslot', 'wal2json');
SELECT * FROM pg_logical_slot_peek_changes('myslot', NULL, NULL, 'include-xids', '1');
SELECT * FROM pg_logical_slot_peek_changes('myslot', NULL, NULL, 'include-xids', '1') limit 2;
SELECT * FROM pg_logical_slot_peek_changes('myslot', NULL, NULL, 'include-xids', '1') offset 2 limit 2;
select count(*) from pg_logical_slot_peek_changes('myslot', NULL, NULL, 'include-xids', '1&#