如题,最近尝试配置postgresql的主从模式,尝试了很久,终于成功了,现将配置过程中遇到的问题做如下总结:
版本: 12.8
安装目录: /home/pgsql
系统:centeros
所引用的博客
CentOS PostgreSQL 12 主从复制(主从切换)
问题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天配置主从的总结,总之结果是好的,成果实现了。
对于文中不妥的地方,大家多多指正