在pg_hba.conf中,我有
host all all 127.0.0.1/32 md5
host all all samenet md5
我还添加了
host all all samehost md5
两者。
我正在使用pgAdminIII,尝试创建“新服务器注册”。当我连接到(localhost)时,它工作正常。但是,当我将主机更改为实际的工作站名称时,它会说:
FATAL: no pg_hba.conf entry for host "fe80::c81c:9e9c:6570:d0bf%20", user "postgres", database "postgres", SSL off
其他信息
对此的任何帮助都将受到高度赞赏。
答案 0 :(得分: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
答案 1 :(得分:4)
其他用户在这里已经回答了这个问题,但是我想在这里给出答案,以便为其他人做出更明确的说明:
在pg_hba.conf中,添加你的ipv6地址:
host all all fe80::c81c:9e9c:6570:d0bf/128 md5
fe80 :: c81c:9e9c:6570:d0bf是你的ipv6地址。
答案 2 :(得分:3)
请注意,samehost
和samenet
依赖的接口枚举代码与平台有很大关系。 (对于不同的平台,目前有5个单独的实现。)因此,对于一个设置有效的方法可能在其他地方不起作用。
也就是说,类似的设置在Linux上适用于我,也就是说,我可以使用
连接到本地主机上的数据库服务器psql -d postgres -h 'fe80::xxxx:xxxx:xxxx:xxxx%eth0'
正确设置listening_addresses
和samenet
之后。
因此,可以想象Windows中的接口枚举代码无法包含链接本地地址。
如果你已经完全解决了这个问题,我会向PostgreSQL发送一个错误报告来进一步分析这个问题。
答案 3 :(得分:1)
我遇到了同样的问题并通过关闭两台机器上的ipv6支持解决了这个问题。不确定这是否适合您。
答案 4 :(得分:1)
您也可以使用
host all all ::1/128 md5
表示localhost。
答案 5 :(得分:0)
关闭适配器上的IPV6。 之后,做
netsh interface teredo set state disabled
这将禁用您无法从GUI看到的虚拟网络接口。