![postgresql远程登录](https://linux22.com/image/498895/postgresql%E8%BF%9C%E7%A8%8B%E7%99%BB%E5%BD%95.png)
我想让位于同一局域网的计算机远程访问我的 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
错误消息应该记录在您的应用程序事件日志中。您应该查看那里以排除配置故障(也许可以将日志中的错误附加到您的问题中,以便我们能够帮助您)。