PGsql逻辑复制
我是本际云服务器推荐网的小编小本本,今天为大家介绍一下PGsql逻辑复制。

逻辑复制特点
PGsql逻辑复制的特点包括:
- 基于WAL日志;
- 同步的最小单元是表;
- 可以设置不同级别的复制;
- 支持多对一、一对多、多对多的复制;
- 支持不同版本之间进行逻辑复制(9.5以上);
- 订阅端可写。
逻辑复制配置步骤
逻辑复制的配置步骤如下:
2.1 发布节点配置文件设置
在pg发布节点上设置postgresql.conf配置文件:
vi postgresql.conf
设置WAL日志级别:
wal_level=logical
设置监听对象(*代表所有):
listen_addresses=*
2.2 发布节点pg_hba.conf文件配置
2.3 发布节点创建复制用户
创建复制用户:
create user repuser replication login connection limit 10 encrypted password '123456';
为复制用户授权:
grant connect on database test to repuser; grant select on test2 to repuser;
检查表赋权:
dp+test2
2.4 为目标复制表创建发布
为目标复制表创建发布:
create publication pub2 for table test2;
查看已经创建的所有发布:
select * from pg_publication;
2.5 订阅节点创建订阅
创建与目标表结构相同的复制表:
create table test2(id int);
为复制表创建订阅:
create subscription sub2 connection 'host=192.168.168.123 port=1921 dbname=test user=repuser' publication pub2;
检查订阅:
select * from pg_subscription;
检查发布端和订阅端数据量是否相等:
select (1) from test2;
发布订阅新表操作
3.1 发布节点添加新表
赋权:
grant select on test3 to repuser;
为发布加表:
alter publication pub2 add table test3;
3.2 订阅节点加表操作
创建与目标表结构相同的复制表:
create table test3(id int);
刷新订阅:
alter subscription sub2 refresh publication;
其他参考语句
4.1 发布节点查发布下的表
查看不同对应的发布:
SELECT * FROM pg_publication_tables;
4.2 订阅节点禁用和启用节点
禁用订阅:
alter subscription sub2 disable;
启用订阅:
alter subscription sub2 enable;
4.3 订阅端查看订阅状态
状态查看:
select * from pg_subscription;
4.4 逻辑复制的监控视图
发布端状态:
select * from pg_stat_replication;
订阅端状态:
select * from pg_stat_subscription;
以上就是PGsql逻辑复制的配置步骤,希望对大家有所帮助。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6448.html
