我有一个干净安装的Windows 10 Pro x64,我正在尝试运行PostgreSQL服务器。它曾经在Windows 7上完美运行,但Windows 10表现得非常奇怪:如果我配置PostgreSQL来监听,127.0.0.1
那么我无法使用psql连接到它:
psql: could not connect to server: Permission denied (0x0000271D/10013)
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
但如果我改变它来监听192.168.0.108(我的内部网IP),那么一切正常:
>psql.exe --host=192.168.0.108 --username=test test
psql (9.4.0)
相同的行为(意味着PostgreSQL正常工作)就是我告诉它localhost
作为名称而不是IP 来监听,尽管在这两种情况下(localhost
或者127.0.0.1
)它都在同一个IP和端口上进行侦听:
>netstat -abno | grep 5432 -A 1
TCP 127.0.0.1:5432 0.0.0.0:0 LISTENING 3480
[postgres.exe]
--
TCP [::1]:5432 [::]:0 LISTENING 3480
[postgres.exe]
我的一切都没有C:\Windows\System32\drivers\etc\hosts
。我不认为问题是PostgreSQL特有的,我只是以它为例。我有其他本地运行的服务有同样的问题 - 由于权限错误无法连接到本地套接字。
是的,我从同一个盒子里访问它。IPv6也是我的怀疑,所以我尝试通过注册表(Services / TSCPIP6 / Parameters,DisabledComponents键)和网络适配器设置禁用IPv6,但它没有帮助。
—
extesy 2015年
你有防火墙在运行吗?尝试暂时禁用它,看看是否会影响这种情况。否则你所展示的一切都很好。
—
弗兰克托马斯
我有KIS2016正在运行。尝试完全禁用它几分钟。也没帮助。
—
extesy 2015年
localhost
。Bonjour / AVAHI和其他Zero-conf服务可以将其他环回地址映射到像mybox.local
。IPv6也可能混淆水域,因此如果不需要,请考虑禁用它。