如何在主服务器使用5434端口实现PostgreSQL流复制
PostgreSQL流复制主库非默认端口(5434)的pg_basebackup配置方法
你的问题根源是pg_basebackup默认连接PostgreSQL的默认端口5432,而主库监听的是5434,只需在命令中指定端口参数即可解决。
解决步骤
1. 修改备库的pg_basebackup命令
在原有命令中添加-p 5434参数,指定主库的监听端口:
pg_basebackup -h (主服务器IP) -p 5434 -D /var/lib/postgresql/13/main/ -U replicator -P -v -R -X stream -C -S slaveslot1
执行该命令后,就会尝试连接主库的5434端口,即可正常提示输入密码。
2. 确认主库的关键配置(避免后续连接问题)
- 检查主库
postgresql.conf:确保port = 5434已配置,同时listen_addresses需包含备库可访问的IP(例如设为*允许所有IP,或指定备库IP) - 检查主库
pg_hba.conf:添加允许复制用户replicator从备库IP连接的规则,示例:
(认证方式根据你的PostgreSQL配置调整,如使用md5则替换为host replication replicator (备服务器IP)/32 scram-sha-256md5)
3. 验证主库端口监听状态
在主库执行以下命令,确认5434端口处于监听状态:
ss -tulpn | grep 5434
若未查到监听记录,需重启主库使配置生效。
内容的提问来源于stack exchange,提问作者zamir sl
相关产品推荐
相关产品推荐

