首页 文章

postgresql服务器不听

提问于
浏览
2

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

似乎我错过了什么?

3 回答

  • 5

    可能阻止postgres连接的事情:

    如果你进入并运行 psql ,你可以在本地连接到服务器吗?

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

  • 2

    您可能需要更改多个配置文件 . 在您的情况下,您可能也需要编辑pg_hba.conf . 在"non-local connections"中搜索该文件 .

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

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

  • 1
    • 更改服务器上的listen_addresses设置后,请确保重新启动PostgreSQL服务器(使用kill -HUP等将SIGHUP发送到postmaster进程) .

    • 确保postgresql.conf端口设置为5432

    • 确保如果服务器上正在运行防火墙,那么对于来自您正在使用的窗口(客户端)计算机的连接,该端口5432是打开的

    • 检查pg_hba.conf以确保客户端计算机的子网具有访问权限

    • 尝试在本地使用psql

相关问题