一、逻辑复制介绍
逻辑复制是基于逻辑解析,其核心原理是逻辑主库将Publication中表的WAL日志解析成一定格式并发送给逻辑备库,逻辑备库Subscription接收到解析后的WAL日志后进行重做,从而实现表数据同步。
二、发布与订阅
-
创建发布
-
创建订阅
三、逻辑复制中断原因
发布端的表结构发生变化。 上游的表结构发生如DDL表结构的变化,下游对应的表结构并没有对应的DDL。导致复制出现中断。
四、逻辑复制中断修复
- 删除订阅
DROP SUBSCRIPTION prime_sub_01 WITH (slot = false);
- 删除发布
drop publication coupon_pub_01;
- 订阅端清空表的数据
truncate table table_name;
- 重建发布
CREATE PUBLICATION coupon_pub_01 FOR TABLE t_coupon_profile_info,t_coupon_activity_info;
- 重建订阅
CREATE SUBSCRIPTION prime_sub_01
CONNECTION 'host=172.21.13.51 port=1921 dbname=coupon user=prime_logical password=Yumc123'
PUBLICATION coupon_pub_01
WITH (
create_slot = true,
enabled = true
);