【PgSQL同步插件】cdc插件之wal2json日常维护


只获取变化,不消费slot:
SELECT * FROM pg_logical_slot_peek_changes('zedb_slot', NULL, NULL);
查询数据库创建的slot
select * from pg_replication_slots ;
slot_name | plugin | slot_type | datoid | database | temporary | active | active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flus
h_lsn
-----------------------------------------+----------+-----------+--------+----------+-----------+--------+------------+------+--------------+--------------+---------------
------
zedb_slot | wal2json | logical | 16416 | zedb | f | f | | | 12250134 | 442/4B001430 | 442/4C004200


select * from pg_logical_slot_get_changes('zedb_slot', NULL, null);

ERROR: requested WAL segment pg_wal/00000001000004420000004B has already been removed

slot已经建立,而远端的pg_recvlogical停止,停止的这段时间产生的数据库变化是不会被消费的,启动后可以接收到所有的变化。
若wal日志已经清理,需要重建slot或者从备份中找回wal日志
删除复制槽slot
select pg_drop_replication_slot('zedb_slot');

 

posted on 2021-09-23 09:38  helontian  阅读(682)  评论(0)    收藏  举报