我试图在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脚本放在这里:
TCP数据包允许IN,但允许OUT从VM到主机?
如果需要INPUT规则,则可能还需要OUTPUT规则,如:
iptables -I OUTPUT -p tcp --sport 5432 -m state --state ESTABLISHED -j ACCEPT
也可以看看这个相关的问题: 无法连接到Vagrant框上的Postgres – 连接被拒绝