postgresql 12配置主从备份注意事项

本文记录了在CentOS系统中配置PostgreSQL12主从模式的过程,包括pg_basebackup使用问题、从服务器postgresql.conf配置调整以及启动时的错误修复。在解决pg_basebackup命令报错时,发现需要指定命令路径。从服务器启动时遇到配置文件识别错误,通过切换用户并使用绝对路径执行pg_ctl解决了问题。经过两天的努力,最终成功实现主从配置。

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

如题,最近尝试配置postgresql的主从模式,尝试了很久,终于成功了,现将配置过程中遇到的问题做如下总结:

版本: 12.8
安装目录: /home/pgsql
系统:centeros
所引用的博客
CentOS PostgreSQL 12 主从复制(主从切换)

postgresql连续归档及时间点恢复

问题1:
pg_basebackup 指令出问题:

pg_basebackup -h 主节点IP -p 5432 -U replica -Fp -Xs -Pv -R -D /home/pgsql/data

报错,不能识别 -R 指令,把-R删除后报错“unsupported server version 12.8”
开始以为是版本问题,尝试了各种办法,都不行,最后发现,需要加上指令的路径“ ./bin/pg_basebackup -h 主节点IP -p 5432 -U replica -Fp -Xs -Pv -R -D /home/pgsql/data”,可以是相对路径也可以是绝对路径;

问题2:
对于从服务器,把data目录拷贝过来后,需要重新配置postgresql.conf文件,对于主服务器上配置的内容需要注释掉,可参照此博客 postgresql主从复制配置

问题3:
在重启从服务时(pg_ctl -D /home/pgsql/data -l logfile start )出现‘ unrecognized configuretion "primary_conninfo" ’等不能识别配置文件中属性信息的错误,也是扒拉了很久才解决:
解决方案:
如果有用户权限不对,如:“pg_ctl: cannot be run as root”的错误,需要进入到指定用户下执行命令,我的系统是:su - postgres;
然后在执行指令时加上指令绝对路径:/home/pgsql/bin/pg_ctl -D /home/pgsql/data -l logfile start(-D 指定启动时的数据文件位置,-l 指定生成的启动日志的文件名,会在执行命令的路径下生成logfile文件,记录启动日志数据)

以上就是对耗时2天配置主从的总结,总之结果是好的,成果实现了。

对于文中不妥的地方,大家多多指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值