当遇到extract报错(如ERROR OGG-25549),需要临时跳过事务恢复抽取时,OGG提供以下语法,更改抽取的点,但在我测试时(OGG 21.3.0.0.0),使用以下方式跳过事务失败。
ALTER EXTRACT
ALTER EXTRACT
由于OGG使用test_decoding进行抽取,我们可以通过修改logical slot跳过事务。
简单记录一下步骤
获取要跳过事务的LSN
test=# SELECT * FROM pg_logical_slot_peek_changes('ext1_5127e1a7a8404faf', NULL, 100, 'include-xids', '0');
lsn | xid | data
------------+------+--------------------------------------------------------------------------------------------------------------------------------------
0/6B03CA38 | 2996 | BEGIN
0/6B03CA38 | 2996 | table public.oggtest: INSERT: id[numeric]:10 c[character varying]:'aaa' tm[timestamp without time zone]:'2022-04-20 10:08:31.465206'
0/6B03CD00 | 2996 | COMMIT
(3 rows)
修改slot lsn
SELECT * FROM pg_replication_slot_advance('ext1_5127e1a7a8404faf','0/6B03CD00');
select * from pg_get_replication_slots();
slot_name | plugin | slot_type | datoid | temporary | active | active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flush_lsn
-----------------------+---------------+-----------+--------+-----------+--------+------------+------+--------------+-------------+---------------------
ext1_5127e1a7a8404faf | test_decoding | logical | 16384 | f | f | | | 2997 | 0/6B03CA00 | 0/6B03CD00
(1 row)
调整OGG 抽取lsn
alter ext1,lsn 0/6B03CD00
启动抽取进程
最后修改时间:2022-04-26 10:49:23
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




