PG逻辑复制槽位问题

48 阅读1分钟

一、逻辑复制介绍

逻辑复制是基于逻辑解析,其核心原理是逻辑主库将Publication中表的WAL日志解析成一定格式并发送给逻辑备库,逻辑备库Subscription接收到解析后的WAL日志后进行重做,从而实现表数据同步。



二、发布与订阅

  1. 创建发布

  2. 创建订阅



三、逻辑复制中断原因

发布端的表结构发生变化。 上游的表结构发生如DDL表结构的变化,下游对应的表结构并没有对应的DDL。导致复制出现中断。



四、逻辑复制中断修复

  1. 删除订阅

DROP SUBSCRIPTION prime_sub_01 WITH (slot = false);
  1. 删除发布
drop publication  coupon_pub_01;
  1. 订阅端清空表的数据
truncate table table_name;
  1. 重建发布
CREATE PUBLICATION coupon_pub_01 FOR TABLE t_coupon_profile_info,t_coupon_activity_info;
  1. 重建订阅

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
  );
              



五、关联文档