Postgresql不允许远程连接。

3

有没有人能帮忙看一下这个奇怪的问题?我仍然无法远程连接到我的PostgreSQL。

我的步骤:

  1. 下载并安装最新的PostgreSQL到本地机器
  2. 设置PostgreSQL
  3. 创建一个数据库
  4. 修改“pg_hba”,添加行“host all all 0.0.0.0/0 md5”
  5. 修改“postgresql.conf”,确保“listen_addresses = '*'”
  6. 重新启动PostgreSQL服务
  7. 打开本地PgAdmin,并连接到数据库 <-- 成功!
  8. 从远程桌面,进行与第7步相同的操作 <-- 失败!

错误消息:

“服务器未监听” “无法连接到服务器......在端口5432上接受TCP/IP连接?”

  • 当我输入“netstat -a”时,发现“TCP 0.0.0.0:5432 Listening”
  • 我检查了防火墙,它未启用 ......

有人可以帮忙吗?有没有人遇到这种情况? 备注:我的操作系统是Winserver 2008

提前感谢~


你还需要为端口5432打开防火墙规则。通常在Windows上,几乎所有东西都默认启用了防火墙。 - mvp
数据库服务器是否在NAT路由器后面?从局域网内部,您应该能够通过本地IP地址(例如192.168.x.y)进行连接。从外部,您将需要WAN地址。首先尝试ping它以查看您是否拥有正确的地址。顺便说一句:非常详细的问题! - joop
你能否从另一台服务器telnet到5432端口? - marceljg
1个回答

1
如果您通过RDP连接到本地计算机,则将通过localhost连接,防火墙或LAN / WAN / NAT设置不应影响pgadmin。
当您编辑pg_hba和postgresql.conf文件时,Server 2008通常不允许您直接编辑它们。我通常会将它们复制出来进行编辑,然后再粘贴回去。您需要从管理员帐户授权粘贴。
我通常在“pg_hba”中有一个单独的规则,使用“host all all 127.0.0.1/32 md5”进行本地连接。还请确保在重新启动服务时,它正在以用户“postgres”而不是其他用户身份运行。

抱歉回复晚了。谢谢大家。 - Wally Yu
最终我发现这个问题是由于IT在虚拟机外添加了一些防火墙规则引起的。 - Wally Yu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接