繁体   English   中英

postgresql服务器不听

[英]postgresql server doesn't listen

我最近刚刚通过SSH在我们的服务器上安装PostgreSQL。 安装成功,直到我尝试在我的Windows机器上使用pgAdmin连接到它。我收到这种错误:

无法连接到服务器:连接被拒绝(0x0000274D / 10061)服务器是否在主机“xxx.xxx.xxx.xxx”上运行并接受端口5432上的TCP / IP连接?

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:主机“xxx.xx.xxx.xxx”没有pg_hba.conf条目,用户“postgres”,数据库“postgres”,SSL关闭

xxx.xx.xxx.xxx =我的IP地址。

似乎我错过了什么?

可能阻止postgres连接的事情:

  1. postgresql.conf配置错误的listen_address
  2. selinux(?)
  3. iptables的
  4. pg_hba.conf (虽然这应该导致不同的错误,不是服务器不听)

你是否可以在本地连接到服务器,如果你运行并运行psql

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM