postgreSql逻辑复制常用语句汇总和说明

简单说明

postgreSql逻辑复制的原理这里不再赘述,度娘一下即可。这里只是对常用的语句做一些汇总和说明,以便日后查找时方便。

逻辑复制的概念

逻辑复制整体上采用的是一个发布订阅的模型,订阅者可以订阅一个或者多个发布者, 发布者也可以被一个或者多个订阅者订阅,通常我们在做逻辑复制的通用步骤是:订阅者首先获取发布者数据库上的数据快照并拷贝这部分存量数据,当这个快照复制执行完成之后,发布者数据库上的变更数据就可以实时的发送给订阅者,订阅者也会顺序处理这些增量数据,基于此逻辑复制可以保证事物的一致性,所以有时候也称逻辑复制为事物复制。

前置条件

想要使用postgreSql的逻辑复制,需要PostgreSQL 10以上版本,并且需要将数据库属性wal_level配置为logical。
wal_level 包含三个选项:minimal、replica、logical,默认是replica。

wal_level = logical
常用语句汇总
//创建发布 定义发布别名 表可以设置多个 使用逗号分割
create publication test_sync_p for table table_sync;

//删除发布
drop publication test_sync_p;
//创建订阅 定义订阅别名 publication与发布的别名保持一致 配置发布数据库链接信息
create subscription test_sync_s connection 'host=192.168.0.1 dbname=system user=postgres password=12345 port=5432' publication test_sync_p;

//删除订阅
drop subscription test_sync_s;
//使用唯一索引设置复制标识 默认为主键
alter table table_sync replica identity using index index_name;
//设置订阅槽为空 方便删除订阅
alter subscription test_sync_s set (slot_name = none) 
//查询publication发布的表
select * from pg_publication_tables;

//查询publication
select * from pg_publication;
//查询槽
select * from pg_replication_slots;

//删除槽
select pg_drop_replication_slot('slot_name');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值