J'ai une nouvelle installation de Windows 10 Pro x64 et j'essaie d'exécuter le serveur PostgreSQL sur celui-ci. Auparavant, il fonctionnait parfaitement sous Windows 7, mais Windows 10 se comporte vraiment bizarrement: si je configure PostgreSQL pour l’écoute, 127.0.0.1
alors je ne peux pas me connecter en utilisant 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?
Mais si je le change pour écouter sur 192.168.0.108 (mon intranet ip) alors tout fonctionne:
>psql.exe --host=192.168.0.108 --username=test test
psql (9.4.0)
Le même comportement (signifiant que PostgreSQL fonctionne bien) est que si je lui dis d'écouter localhost
comme un nom au lieu de IP, bien que dans les deux cas (soit localhost
ou 127.0.0.1
) il écoute exactement sur le même IP et le même port:
>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]
Il n’ya rien dans ma C:\Windows\System32\drivers\etc\hosts
. Et je ne pense pas que le problème soit spécifique à PostgreSQL, je l’ai simplement utilisé comme exemple. J’ai d’autres services locaux qui rencontrent le même problème - je ne peux pas me connecter au socket local à cause d’une erreur d’autorisations
localhost
. Bonjour / AVAHI et d’autres services Zero-conf peuvent mapper d’autres adresses de bouclage sur des noms tels quemybox.local
. Il est également possible que IPv6 brouille les cartes, pensez donc à le désactiver s'il n'est pas utilisé.