pglogical 主从配置

一、主库配置:

1.配置 master postgresql.conf

ubuntu在此目录下可找到:/etc/postgresql/9.6/mian

wal_level = 'logical'

max_worker_processes = 10  # one per database needed on provider node

# one per node needed on subscriber node

max_replication_slots = 10  # one per node needed on provider node

max_wal_senders = 10        # one per node needed on provider node

shared_preload_libraries = 'pglogical'

图一

2.相同目录下配置 pg_hba.conf 的备份设置:

根据自己数据库服务器地址情况配置。这里是本地环境地址。

图1

3.在master上进入需要被同步的数据库,这里样例使用的是安装后默认的postgres数据库:

切换 postgres 用户进入 数据库后台:sudo -u postgres psql

\c dbname      进入需要同步的数据库,

图2
       

在此输入创建pglogical 扩展:

creaste extension pglogical;

创建节点:

SELECT pglogical.create_node(node_name := 'master',dsn := 'host=自己IP port=5432 dbname=synctest user=自己dbuser password=自己dbpassword');  

一定要封号结尾!!!!

创建同步规则:

select pglogical.replication_set_add_all_tables('default',array['public'])

二、从库配置:

1.配置 slave数据库 postgresql.conf

ubuntu在此目录下可找到:/etc/postgresql/9.6/mian

wal_level = 'logical'

max_worker_processes = 10  # one per database needed on provider node

# one per node needed on subscriber node

max_replication_slots = 10  # one per node needed on provider node

max_wal_senders = 10        # one per node needed on provider node

shared_preload_libraries = 'pglogical'

图3

2.在slave服务器上进入备份的数据库,这里样例使用的是安装后默认的postgres数据库:

切换 postgres 用户进入 数据库后台:sudo -u postgres psql

\c postgres      进入需要同步的postgres 数据库,

在此输入创建pglogical 扩展:

creaste extension pglogical;

创建节点 :

SELECT pglogical.create_node(node_name := 'slave',dsn := 'host=slaveIP port=5432 dbname=synctest user=slave-dbuser password=slave-dbpassword');

图4

创建subscription:

select pglogical.create_subscription(subscription_name:='sync',provider_dsn:='host=provider_ip port=5432 user=user password=pwd dbname=synctest') ;#创建同步作业,开始同步

图5

注意事项:

1.主从库数据库名一致,表名,表结构一致。

2.需要备份的数据库表一定要有主键 ;

3.一定要先创建数据库主从表结构,后开始执行文档的内容。

你可能感兴趣的:(pglogical 主从配置)