已搭建的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


8334

被折叠的 条评论
为什么被折叠?



