无法通过名称连接到本地计算机

时间:2016-08-11 13:47:38

标签: postgresql config ipv6 postgresql-9.5

我在本地Windows 7 x64计算机上运行Postgres 9.5.3

当我连接到“localhost”时,我的代码工作正常。 如果我按名称连接到我的机器,我会收到此错误:

Opening connection to 'W7_Adam_Benson' on port 5432 as user 'postgres'
ERROR: Devart.Data.PostgreSql.PgSqlException (0x80004005): no pg_hba.conf entry for host "fe80::6d80:62eb:5bab:f7f6%10", user "postgres", database "postgres", SSL off

很明显,它试图用IPV6而不是IPV4连接,但是那又是什么?

我的pg_hba.conf看起来像这样:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
host    all             all             0.0.0.0/0               md5
host    all             all             127.0.0.1/32            md5

# IPv6 local connections:
host    all             all             ::1/128                 md5
host    all             all             *                       md5

# Allow replication connections from localhost, by a user with the
# replication privilege.
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5
host     all     all     *   trust

感激不尽的任何帮助

1 个答案:

答案 0 :(得分:2)

如果您需要特定的地址,请将此行添加到您的文件中:

host  all  all  fe80::6d80:62eb:5bab:f7f6/10  md5

但是,对于LAN访问,请将此行添加到pg_hba.conf文件中的IPv6本地连接:

host  all  all  fe80::/10  md5

IPv6中以fe80::开头的地址是链路本地地址,仅用于本地网络的一个网段或点对点连接类型内的通信。它们无法通过互联网/不同的子网路由。