我已经设置了流日志复制,但我最后一步陷入困境。主设置完成,备份和rsync成功完成。我可以成功地从奴隶到主人,从主人到奴隶。我按照这里的教程http://blog.3dtin.com/2012/07/26/postgresql-replication-and-hot-standby-in-practic/
然而,当我在运行rsync后重新启动从属端的数据库并创建如教程中提到的recovery.conf文件时,从服务器无法与主服务器连接,正如您在下面的日志中看到的那样继续投掷可能没有连接到主服务器错误。
对于像我这样的人来说,ssh工作并且机器可以通过ssh相互通信但是TCP错误输出真的很奇怪????花了很多时间在这上面,无法找到答案,这就是为什么发布在这里。
我正在使用noip2作为公共IP的解决方案,并且主服务器和从服务器都在路由器后面并且ssh端口已被转发。我也尝试在主机端关闭防火墙,但仍然没有工作。请帮忙解决!
postgres @ saro:〜$ cat /var/log/postgresql/postgresql-9.1-main.log 2014-08-15 21:22:06 IST LOG:数据库系统在2014-08-15 21:19:48 IST关闭了 2014-08-15 21:22:06 IST LOG:进入待机模式 2014-08-15 21:22:06 IST LOG:不完整的启动包 2014-08-15 21:22:06 IST LOG:一致恢复状态达到0/35000020 2014-08-15 21:22:06 IST LOG:记录零长度为0/35000070 2014-08-15 21:22:06 IST LOG:数据库系统已准备好接受只读连接 2014-08-15 21:24:13 IST致命:无法连接到主服务器:无法连接到服务器:连接超时 服务器是否在主机上运行" mis-master" ()和接受 端口5432上的TCP / IP连接?
2014-08-15 21:26:23 IST致命:无法连接到主服务器:无法连接到服务器:连接超时 服务器是否在主机上运行" mis" ()和接受 端口5432上的TCP / IP连接?
答案 0 :(得分:1)
我最近遇到了这个问题。 默认情况下,端口5432仅对locathost连接打开。您可以使用netstat确认:
abhishek@ubuntu:~$ netstat -ntl | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
这是由于postgresql.conf中配置错误的listen_addresses
更新/etc/postgresql/9.1/main/postgresql.conf以允许来自所有地址的监听连接(默认为localhost)。
listen_addresses = '*'
完成此操作后,请检查pg_hba.conf是否允许使用复制用户(repluser)从从属服务器的IP(10.10.10.101)进行连接。
host replication repluser 10.10.10.101/32 trust
重新启动postgresql服务以使更改生效。
sudo service postgresql restart
要确认此端口现在是否已打开,请使用netstat:
abhishek@ubuntu:~$ netstat -ntl | grep 5432
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN