sql >> Base de Datos >  >> RDS >> PostgreSQL

No se pudo contactar con el servidor pgAdmin 4:error fatal

Esto es algo que parece haber cambiado entre pgAdmin4 5.1 y 5.7. He visto esto en una máquina que se había conectado a un punto de acceso móvil WiFi (pero podría suceder en otras circunstancias).

Tiene algo que ver con la forma en que dns biblioteca se usa en Windows, por lo que esto podría pasarle a otras aplicaciones que la usan de la misma manera.

Esencialmente, dns.Resolver analiza el registro de Windows en busca de todas las interfaces de red que se encuentran en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\

El punto de acceso WiFi móvil al que se había conectado la máquina había establecido un DhcpDomain clave con valor ".home ". El dns.Resolver encontró este valor y lo dividió usando el punto en múltiples etiquetas, una de ellas vacía. Eso causó la excepción que mencionas:dns.name.EmptyLabel: A DNS label is empty .

Esto ocurría incluso cuando la red WiFi estaba apagada:esas eran las últimas configuraciones que habían estado en uso y dns.Resolver no verificó si la interfaz estaba habilitada.

La última versión de pgAdmin parece ser una versión anterior de dnspython (1.16.0), por lo que no estoy seguro de si esto se ha solucionado en versiones más recientes. Por ahora, parece haber dos opciones:

  • Eliminar o cambiar el DhcpDomain subclave si la encuentra en una de las subclaves de HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ (incluso podría haber una forma de forzar ese valor a través del Panel de control).

  • Conéctese a una red diferente que no establezca este valor.