1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

PGsql逻辑复制

PGsql逻辑复制

我是本际云服务器推荐网的小编小本本,今天为大家介绍一下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