PostGreSQL主从库环境下的从节点故障恢复

      已搭建的PostGreSQL11.6主从环境,因批量导入大量数据导致主从节点异常宕机,导致主节点重新启动系统,从节点wal同步信息也不完整。从节点重启pg数据库,出现下图问题:

经过分析,主从节点之间wal段缺少1天的量,很难恢复过来。所以依照以主库为基础,重置备库节点。

注意:在重置备库节点时,需要清空data下的内容,即rm -rf /opt/pgsql/data(根据自己安装时设定路径处理)。

由于主库节点上有自定义表空间,在备节点上使用pg_basebackup初始化,出现下列错误:

运行pg_basebackup -D /opt/pgsql/data -F p -X stream -v -P -h 172.22.1.XXX -p 5432 -U replica备份主节点,报“pg_basebackup: 无法创建目录 "/opt/pgsql/data/base": 文件已存在09051/19591/22300)”错误。

尝试使用在root账户下也不能成功,显然排除与权限有关。最后尝试采取在主节点下操作,具体见下面步骤:

一、主库上执行

//创建备份目录
mkdir -p /opt/pgsql/backups/`date +%Y%m%d`

//启动备份
/usr/pgsql-11/bin/psql -c "select pg_start_backup('hot_backup');"

//压缩data下文件,需排除postmaster.pid、postmaster.opts 、日志和pg_wal目录下的内容
tar -zcvPf /opt/pgsql/backups/`date +%Y%m%d`/backup.tar.gz /opt/pgsql/data/* --exclude=/opt/pgsql/data/postmaster.pid --exclude=/opt/pgsql/data/postmaster.opts --exclude=/opt/pgsql/data/log/*  --excl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值