postgresql服务器不听

时间:2012-09-05 17:38:08

标签: postgresql ubuntu ssh postgresql-9.1 ubuntu-12.04

我最近刚刚通过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地址。

我似乎错过了什么?

3 个答案:

答案 0 :(得分:5)

可能阻止postgres连接的事情:

  1. listen_address
  2. 中配置错误postgresql.conf
  3. selinux(?)
  4. 的iptables
  5. pg_hba.conf(虽然这会导致不同的错误,但不是服务器不听)
  6. 如果您进入并运行psql

    ,是否可以在本地连接到服务器?

    在我们的内部开发服务器上,我只关闭selinux和iptables。从安全角度来看,这是一个糟糕的主意,但它可以作为一个临时步骤,帮助您缩小问题的范围。

答案 1 :(得分:2)

您可能需要更改多个配置文件。在您的情况下,您可能也需要编辑pg_hba.conf。在该文件中搜索“非本地连接”。

我喜欢将配置文件保留在版本控制之下。通过这种方式从错误中恢复更容易。

您可能需要在进行这些更改后重新启动PostgreSQL服务器。

答案 2 :(得分:1)

  • 更改服务器上的listen_addresses设置后,请务必重新启动PostgreSQL服务器(将SIGHUP发送到postmaster进程,使用kill -HUP等)。
  • 确保postgresql.conf端口设置为5432
  • 如果服务器上正在运行防火墙,请确保该端口5432对来自您正在使用的窗口(客户端)计算机的连接打开
  • 检查pg_hba.conf以确保客户端计算机的子网具有访问权限
  • 尝试在本地使用psql