本篇内容主要讲解“如何实现Postgresql流复制主备切换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现Postgresql流复制主备切换”吧!

--操作系统命令,判断发送进程还是接收进程ps-ef|grep"wal"|grep-v"grep"--数据查看selectpid,usename,application_name,client_addr,state,sync_statefrompg_stat_replication;--or备库selectpid,status,last_msg_send_time,last_msg_receipt_time,conninfofrompg_stat_wal_receiver;--系统函数查看selectpg_is_in_recovery();--数据库控制信息pg_controldata|grepcluster--查看recovery.conf配置文件--主备切换文件触发方式9.0之前的版本--1、配置备库文件,添加trigger_file参数recovery.conftrigger_file='/pgdata/data/.postgresql.trigger.5432'--2、关闭主库pg_ctlstop-mfast--3、创建触发文件,重启备库,观察recovery.conf是否变成recovery.donetouch/pgdata/data/.postgresql.trigger.5432--4、老主库变成备库--编辑recovery.conf文件recovery_target_timeline='latest'standby_mode=onprimary_conninfo='host=192.168.8.25port=5432user=repuser'--密码文件cat.pgpass192.168.8.25:5432:replication:repuser:re12a345192.168.8.81:5432:replication:repuser:re12a345chmod0600.pgpass--主备切换pg_ctlpromote方式--1、关闭主库pg_ctlstop-mfash--2、备库执行pg_ctlpromote--3、老主库切换成备库--pg_rewind流复制维护数据同步工具--当备库激活成主库时,如果没有关闭老的主库,这时老的主库不能切换成备库,不需要重新备份,pg_rewind复制变化(增量刷新同步)--前提条件,满足其一即可1、postgresql.conf配置文件中wal_log_hints参数设置成on,需重启数据库2、数据库安装时initdb初始化时使用了--data-checksums,发现io错误,开启性能有损耗--node2激活备库--node1关闭备库,使用pg_rewind增量同步pg_rewind--target-pgdata$PGDATA--source-server='host=192.168.8.25posrt=5432user=postgresdbname=postgres'-P--以上命令执行成功,postgres用户密码会写入~/.pgpass--修改recovery.conf启动新备库--延迟备库recovery.conf添加参数,目前支持s,min,h,d,msrecovery_min_apply_delay=1min--同步流复制,延迟参数优先synchronous_commit=onrecovery_min_apply_delay=1min#优先--remote_aplysynchronous_commit=remote_apply#主库操作被阻塞1分钟,备库应用完成才返回结果recovery_min_apply_delay=1min#优先--同步复制优选提交,一主两备,注意,当同步库中有宕机的,主库会阻塞synchronous_standby_names=db1,db2#备库列表第一个为同步备库,第二个潜在的同步备库synchronous_standby_names='FIRST2(db1,db2,db3)'#前两个为同步备库,第三个为潜在同步备库synchronous_standby_names='ANY2(db1,db2,db3)'#任意两个为同步备库,其他为潜在同步备库--级联复制a>b>c--1、异步流复制,部署备库b,复制正常,开始部署备库c,c执行-hapg_basebackup-D/pgdata/data-Fp-Xs-v-P-h192.168.28.74-p5432-Urepuser--2、配置crecovery.conf文件,hostbrecovery_target_timeline='latest'standby_mode=onprimary_conninfo='host=192.168.8.25port=5432user=repuserapplication_name=c'--3、启动c

到此,相信大家对“如何实现Postgresql流复制主备切换”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!