无法连接到监听 127.0.0.1 的套接字,但适用于 Windows 10 中的“localhost”

无法连接到监听 127.0.0.1 的套接字,但适用于 Windows 10 中的“localhost”

我已全新安装 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)

如果我告诉它监听localhost作为名称而不是IP,则行为是相同的(意味着PostgreSQL工作正常),尽管在两种情况下(localhost127.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,我只是将其用作示例。我在本地运行的其他服务也存在同样的问题 - 由于权限错误而无法连接到本地套接字。

相关内容