山东建设厅网站 高英,公司门口设计,优化教程网下载,手机网站建设制作教程简单说明
postgreSql逻辑复制的原理这里不再赘述#xff0c;度娘一下即可。这里只是对常用的语句做一些汇总和说明#xff0c;以便日后查找时方便。
逻辑复制的概念
逻辑复制整体上采用的是一个发布订阅的模型#xff0c;订阅者可以订阅一个或者多个发布者#xff0c; 发…简单说明
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 host192.168.0.1 dbnamesystem userpostgres password12345 port5432 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);