pgAdmin无法连接到PostgreSQL 9.1

我试图在Windows上使用pgAdmin来连接到在localhost的Ubuntu 12.04虚拟机上运行的postgresql 9.1.8。 主机的端口5432转发到虚拟机的端口5432。

pgAdmin错误:

Error connecting to the server: could not receive data from server: Software caused connection abortion (0x00002745/10053)

postgresql.conf中

 #------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' port = 5432 

的pg_hba.conf

 local all postgres peer # TYPE DATABASE USER ADDRESS METHOD host all all 0.0.0.0/0 md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5 

netstat -nlp | 5432

 tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 29035/postgres unix 2 [ ACC ] STREAM LISTENING 50823 29035/postgres /var/run/postgresql/.s.PGSQL.5432 

iptables规则

 iptables -I INPUT -p tcp --dport 5432 -j ACCEPT 

PostgreSQL服务已经重启,pgAdmin仍然会报错。 任何想法是什么造成的?

有同样的问题,它分为3个步骤:

1-在小牛(相同的10.6 +)端口5432已经采取这样的需要:— config.vm.network“forwarded_port”,客人:5432,主机:5433“Vagrantfile”,然后你使用端口5433通过pgadmin3连接

在postgresql.conf中,listen_address ='*'#允许服务器侦听来自所有ip的套接字连接

3-需要在“pg_hba.conf”中启用主机

我在这里把postgresql所需的configurationshell脚本放在这里:

https://gist.github.com/haknick/7394776

TCP数据包允许IN,但允许OUT从VM到主机?

如果需要INPUT规则,则可能还需要OUTPUT规则,如:

 iptables -I OUTPUT -p tcp --sport 5432 -m state --state ESTABLISHED -j ACCEPT 

也可以看看这个相关的问题: 无法连接到Vagrant框上的Postgres – 连接被拒绝