postgresql远程登录

postgresql远程登录

我想让位于同一局域网的计算机远程访问我的 postresql db (8.2),在默认配置下,我已将以下行添加到 pg_hba.conf,其中 xxx.xx.xx.xx 是托管 postgresql 的计算机的 ip。此计算机是 Windows 2k 服务器。

# IPv4 local connections:
host    all         all         0.0.0.0/0         password
host    all         all         xxx.xx.xx.xx/24         password

没有防火墙或类似的东西阻止 postgresql.conf 和 `listen_addresses = '*' 之间的连接。

答案1

所以我猜它不起作用?

大概应该是 host all all xxx.xx.xx.0/24 password 而不是 host all all xxx.xx.xx.xx/24 password

答案2

pg_hba应用第一条规则进行匹配,因此您的第二行永远不会被使用。它在哪里被阻止?网络还是身份验证?如果是身份验证,您可能需要尝试该md5方法 (s/password/md5/)。

答案3

我最近在 Postgres 8.3 上做过这个。我在 Linux 系统上做过,但过程听起来很相似。

我按照说明这里

看起来唯一显著的区别是 hba conf 中的“密码”被“信任”取代。本质上,我相信这意味着它允许主机与任何用户连接,而不是使用明文密码的密码。

该设置可能会排除密码问题。

我建议的下一件事是尝试为特定主机添加单个 IP 地址并尝试连接。您也可以通过指定服务器的 IP 地址尝试本地连接。

答案4

错误消息应该记录在您的应用程序事件日志中。您应该查看那里以排除配置故障(也许可以将日志中的错误附加到您的问题中,以便我们能够帮助您)。

相关内容