修改主库以及从库的postgresql.conf
wal_level = logical max_wal_senders = 10 max_replication_slots = 8
参数简要说明如下
wal_level:设置成logical才支持逻辑复制
max_wal_senders:由于每个订阅节点和流复制备库在主库上都会占用主库上一个WAL发送进程,因此此参数设置值需大于max_replication_slots参数值加上物理备库数量
max_replication_slots:设置值需大于订阅节点的数量
逻辑主库创建库和表,逻辑从库创建库和表
主库和从库库名可以不一致,但是库中需要同步的表必须表名和表结构一致
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
PostgreSQL数据库逻辑复制实践
标签:大于 enc 修改 log 赋权 ima 数据 cat alter
查看更多关于PostgreSQL数据库逻辑复制实践的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did118106