流复制备库断档

本文描述了一种在流复制架构中,主库新建表未能同步到备库的问题,及流复制断开的原因与解决方法。主库wal日志被移除导致流复制断开,通过重做备库恢复流复制,涉及停库、数据目录更改与pg_basebackup命令使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

环境

症状

问题原因

解决方案

相关文档

报错编码

环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 6

版本:4.3.4

症状

流复制架构,主库新建的表未能同步到备库,发现流复制已经断开。

问题原因

1、查看错误日志,报错: 

2019-07-19 14:43:09.448 CST,"repuser","",11005,"10.0.0.16:41020",5d31667d.2afd,4,"idle",2019-07-19 14:43:09 CST,4/0,0,ERROR,58P01,"requested WAL segment 000000010000000000000033 has already been removed",,,,,,,,,"walreceiver" 

2、日志断档,主库上的wal日志被移除,流复制断开。

解决方案

1、流复制断开,先看进程是否存在,主库看wal sender,备库看receiver进程,发现都不存在,说明流复制已经断开。  

2、然后备库最近错误日志,在data目录下的hg_log目录,找到最近的相关报错日志,发现主库的wal日志已经被移除。

3、流复制的备库是通过wal receiver进程获取相关的wal日志来进行应用达到主备的一致,因此主库上的wal日志被移除,备库不能继续进行应用相关wal,因此流复制断开。

4、此种情况只能通过重做备库,来恢复流复制,使用pg_basebackup命令对备库进行重做,但需要注意一点,如果数据量较大,要选择在夜间业务不繁忙时重做备库,因为可能会对资源占用较大,有一定影响。

5、先关闭备库并将data目录改为data1。

[highgo@localhost 4.3.4]$ pg_ctl stop

[highgo@localhost 4.3.4]$ cd $PGHOME

[highgo@localhost 4.3.4]$ mv data data1

6、重做备库,ip改为主库相关ip,目录改为备库相关目录。

[highgo@localhost 4.3.4]$ pg_basebackup -h 192.168.56.101 -p 5866 -U repuser -D /highgo/4.3.4/data  -Fp -P -Xs -R -v

更多详细信息请登录【瀚高技术支持平台】 查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值