PostgreSQL数据库逻辑复制实践

时间:2020-12-22 12:14:33   收藏:0   阅读:0

修改主库以及从库的postgresql.conf

wal_level = logical

max_wal_senders = 10

max_replication_slots = 8

参数简要说明如下

逻辑主库创建库和表,逻辑从库创建库和表

主库和从库库名可以不一致,但是库中需要同步的表必须表名和表结构一致

createdb sourcedb

create table logical_tb(id int primary key,name varchar(20));

创建逻辑复制账号并授权

逻辑复制用户需要REPLICATION权限即可,可以不需要SUPERUSER权限,之后需要在主库上将需要同步的表赋权给logical_repl用户,使logical_repl账号具有对这些表的读权限,这样从库可以通过这个账号进行连接访问

CREATE USER logical_repl REPLICATION LOGIN CONNECTION LIMIT 8 ENCRYPTED PASSWORD ‘logical_repl‘;

GRANT USAGE ON SCHEMA public TO logical_repl;

GRANT SELECT ON logical_tb1 TO logical_repl;

主库创建发布

注意:进入当前库下执行语句

CREATE PUBLICATION puball FOR ALL TABLES
CREATE PUBLICATION pub FOR TABLE logical_tb;

从库创建订阅

CREATE SUBSCRIPTION suballtable
CONNECTION ‘host=10.10.64.30 port=5434 user=logical_repl password=logical_repl dbname=testall‘
PUBLICATION puball;
ALTER SUBSCRIPTION sub REFRESH PUBLICATION
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!