9

在 pg_hba.conf 中,我有

host    all             all             127.0.0.1/32            md5
host    all             all             samenet            md5

我还添加了

host    all             all             samehost            md5

双方。

我正在使用 pgAdminIII,尝试创建一个“新服务器注册”。当我连接到(本地主机)时,它工作正常。但是当我将主机更改为实际的工作站名称时,它会显示:

FATAL: no pg_hba.conf entry for host "fe80::c81c:9e9c:6570:d0bf%20", user "postgres", database "postgres", SSL off 

附加信息

  • 操作系统:Windows 7 Ultimate 32 位
  • PostgreSQL 服务器 9.0.2

对此的任何帮助将不胜感激。

4

6 回答 6

6

这是在启用 IPv6 的 Windows 计算机上安装 PostgreSQL 的问题。如本文所述,临时解决方法是传递参数“-h 127.0.01”。

http://postgresql.1045698.n5.nabble.com/FATAL-no-pg-hba-conf-entry-for-host-1-td1873063.html

于 2012-02-25T14:09:24.187 回答
5

其他用户已在此处回答了此问题,但我想在此处显示答案以使其他人更清楚:

在 pg_hba.conf 中,添加您的 ipv6 地址,如下所示:

host      all        all       fe80::c81c:9e9c:6570:d0bf/128       md5

fe80::c81c:9e9c:6570:d0bf 是您的 ipv6 地址。

于 2012-10-30T04:15:11.220 回答
3

请注意,samehostsamenet所依赖的接口枚举代码非常依赖于平台。(目前有 5 种针对不同平台的独立实现。)因此,适用于一种设置的方法可能不适用于其他地方。

也就是说,类似的设置适用于我在 Linux 上,也就是说,我可以使用连接到本地主机上的数据库服务器

psql -d postgres -h 'fe80::xxxx:xxxx:xxxx:xxxx%eth0'

设置listening_addressessamenet适当后。

因此可以想象,Windows 中的接口枚举代码不知何故未能包含链接本地地址。

如果你已经足够地隔离了这个问题,我会向 PostgreSQL 发送一个错误报告以进一步分析这个问题。

于 2011-07-11T09:20:21.327 回答
1

我有同样的问题,并通过关闭两台机器上的 ipv6 支持来解决它。不确定这是否适合您。

于 2012-02-04T14:23:04.023 回答
1

你也可以使用

host      all        all       ::1/128       md5

对于本地主机。

于 2012-12-15T19:40:06.523 回答
0

尽可能关闭适配器上的 IPV6。之后,做

netsh interface teredo set state disabled

这将禁用您无法从 GUI 看到的虚拟网络接口。

于 2013-04-03T18:41:10.593 回答