我已经尝试了所有可以找到的东西,以便能够远程访问centos服务器上的postgresql 8.1数据库。我正在尝试使用pgAdmin 3从我的Windows 10 PC连接。我一直在:
服务器不接受连接:连接库报告 无法连接到服务器:连接超时(0x0000274C / 10060)服务器是否在主机上运行"服务器IP"并接受端口5432上的TCP / IP连接?
这就是我所做的:
pg_hba.conf添加了 -
host all all "my public IP address"/32 trust
postgresql.conf -
listen_addresses='*'
重启PostgreSQL
在iptables中添加了以下内容
-A INPUT -p tcp -s 0/0 --sport 1024:65535 -d "my IP" --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -s "my ip" --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
重启iptables
我已多次验证我到处都有正确的IP地址。
任何人都可以帮助解决我可能缺少的问题。
更新:
我停止了iptables服务,并且能够连接,因此它符合我的iptable规则。
答案 0 :(得分:0)
如果您确实要在没有其他计算机密码的情况下启用连接,请执行
行host all all "my public IP address"/32 trust
"my public IP address"
应该是您尝试连接的机器的IP地址。
不要忘记运行pg_ctl reload
来加载更改的配置文件。
要混杂并允许来自任何地方的无密码连接,请使用
host all all 0.0.0.0/0 trust
如果遇到问题,请在log_connections
中将on
设置为postgresql.conf
并查阅日志文件。
答案 1 :(得分:0)
我发现了iptables的错误。使用CentOS我需要添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 –s "my IP" -j ACCEPT
PostgreSQL的一切都是正确的。只需改变上面的iptable规则。