PostgreSQL服务器不听:尝试了一切并失败了

当尝试使用pgAdmin 1.16.1从远程
Windows服务器连接到PostgreSQL时,我得到可怕的“服务器不监听”消息,“无法连接到服务器:连接超时(0x0000274C / 10060)服务器是否在主机上运行“xxx.xx.xxx.xx”并接受端口5432’上的TCP / IP连接.

我在CentOS 6.4上运行PostgreSQL 9.3.这是我到目前为止所尝试的:

>我可以使用psql –username = postgres在本地访问数据库.数据库在那里,它正在运行,我可以查询它
>在postgresql.conf中,我已经设置好了

listen_addresses = '*'
port = 5432 

>在pg_hba.conf中,我有一个我试图访问数据库的服务器列出如下:

host    all             all             xxx.xx.xxx.0/24         md5

> SELinux已关闭(getenforce获取响应已禁用)
>以防万一我将端口5432添加到IPTables

iptables -A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT

>我已经使用psql进入postgresql并设置密码(尽管我确信它已经设置正确)

ALTER USER postgres WITH PASSWORD '*************';

>键入netstat -angives对端口5432的这些引用(不确定它们是否相关):

Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:5432                0.0.0.0:*                   LISTEN      

tcp        0      0 :::5432                     :::*                        LISTEN      

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     677454 /tmp/.s.PGSQL.5432

>我可以从远程服务器ping到数据库服务器
>使用相同的pgAdmin安装从同一远程服务器连接到Ubuntu上运行PostgreSQL 9.1的另一台服务器没问题

我很难过.有没有人知道更多可能是错的?是的,我确实记得在更改配置文件后重启服务器.我相信我已经读过关于这个主题的所有其他帖子.

最佳答案 也许你忘了添加OUTPUT规则?

iptables -A INPUT -p tcp -s 0/0 --sport 1024:65535 -d xx.xx.xx.xx  --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -s xx.xx.xx.xx --sport 5432 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

xx.xx.xx.xx - your server IP
点赞