PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Le serveur pgAdmin 4 n'a pas pu être contacté :erreur fatale

C'est quelque chose qui semble avoir changé entre pgAdmin4 5.1 et 5.7. J'ai vu cela sur une machine qui avait été connectée à un hotspot mobile WiFi (mais cela pourrait arriver dans d'autres circonstances).

Cela a quelque chose à voir avec la façon dont le dns est utilisée sous Windows, cela peut donc arriver à d'autres applications qui l'utilisent de la même manière.

Essentiellement, dns.Resolver analyse le registre Windows pour toutes les interfaces réseau trouvées sous HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\

Le point d'accès Wi-Fi mobile auquel la machine était connectée avait défini un DhcpDomain clé avec la valeur ".home ". Le dns.Resolver a trouvé cette valeur et l'a divisée à l'aide du point en plusieurs étiquettes, l'une d'entre elles étant vide. Cela a provoqué l'exception que vous mentionnez :dns.name.EmptyLabel: A DNS label is empty .

Cela s'est produit même lorsque le réseau WiFi était désactivé :il s'agissait des derniers paramètres utilisés et dns.Resolver n'a pas vérifié si l'interface était activée.

La dernière version de pgAdmin semble être une ancienne version de dnspython (1.16.0), donc je ne sais pas si cela a été corrigé dans les versions plus récentes. Pour l'instant, il semble y avoir deux options :

  • Supprimer ou modifier le DhcpDomain sous-clé si vous la trouvez dans l'une des sous-clés de HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ (il pourrait même y avoir un moyen de forcer cette valeur via le Panneau de configuration).

  • Connectez-vous à un autre réseau qui ne définit pas cette valeur.