postgreSQL-级联复制

1.级联复制简介

PostgreSQL 支持备库既可以接收主库发送的 wal,也支持将 wal 发送给其他备库,这一
特性称为级联复制。
级联复制的主要作用是降低主库压力。
级联复制一个典型应用场景为一主两备,其中一个备库和主库同机房部署以实现本地高可
用,另一个备库跨机房部署以实现异地容灾。

2. 级联复制架构

3.搭建级联复制

提前条件:安装好postgresql

  • 主库配置
--配置 postgresql.conf 参数 
listen_addresses = '*' 
wal_level = replica 
wal_log_hints = on 
logging_collector = on 
archive_mode=on 
archive_command='cp %p /home/postgres/archives/%f' 

--启动数据库 
pg_ctl start 

--创建复制用户 
create user repl replication password 'repl'; 

--配置 pg_hba.conf,运行主库接受流复制连接,这里配置 2 条是因为主库和备库的角色
是可以互换的 
host replication repl 192.168.86.141/32 scram-sha-256 
host replication repl 192.168.86.142/32 scram-sha-256
  • Master=>Slave1 异步流复制配置
pg_basebackup -h pg01 -Urepl -R -Fp -P -D /home/postgres/pgdata16
--启动备库 
pg_ctl start 
  • Slave1=>Slave2 异步流复制配置
pg_basebackup -h pg02 -Urepl -R -Fp -P -D /home/postgres/pgdata16
--启动备库 
pg_ctl start
  • 查看级联复制状态
#主库执行
postgres=# select usename,client_addr,state,sync_state,sync_priority from 
pg_stat_replication;


#slave1上执行
postgres=# select usename,client_addr,state,sync_state,sync_priority from 
pg_stat_replication;


  • 验证数据
#主库执行
postgres=# create table t1(id int); 
CREATE TABLE 
postgres=# insert into t1 values(1); 
INSERT 0 1 
postgres=# select * from t1;


#从库查询
select * from t1;

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值