我最近刚刚通过SSH在我们的服务器上安装PostgreSQL。安装成功,直到我尝试在我的Windows机器上使用pgAdmin连接到它。我收到了这种错误:
无法连接到服务器:连接被拒绝(0x0000274D / 10061)是 服务器在主机“xxx.xxx.xxx.xxx”上运行并接受TCP / IP 端口5432上的连接?
xxx.xxx.xxx.xxx =我服务器的公共IP。
文档建议可以通过在 /etc/postgresql/9.1/main/postgresql.conf 中设置listen_addresses = '*'
的值来解决此问题。我做到了,但它仍然不会让我。
出现了其他错误
致命:用户没有主机“xxx.xx.xxx.xxx”的pg_hba.conf条目 “postgres”,数据库“postgres”,FATAL上的SSL:没有pg_hba.conf条目 主机“xxx.xx.xxx.xxx”,用户“postgres”,数据库“postgres”,SSL 关
xxx.xx.xxx.xxx =我的IP地址。
我似乎错过了什么?
答案 0 :(得分:5)
可能阻止postgres连接的事情:
listen_address
postgresql.conf
pg_hba.conf
(虽然这会导致不同的错误,但不是服务器不听)如果您进入并运行psql
?
在我们的内部开发服务器上,我只关闭selinux和iptables。从安全角度来看,这是一个糟糕的主意,但它可以作为一个临时步骤,帮助您缩小问题的范围。
答案 1 :(得分:2)
您可能需要更改多个配置文件。在您的情况下,您可能也需要编辑pg_hba.conf。在该文件中搜索“非本地连接”。
我喜欢将配置文件保留在版本控制之下。通过这种方式从错误中恢复更容易。
您可能需要在进行这些更改后重新启动PostgreSQL服务器。
答案 2 :(得分:1)