PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

O servidor pgAdmin 4 não pôde ser contatado:erro fatal


Isso é algo que parece ter mudado entre o pgAdmin4 5.1 e 5.7. Eu vi isso em uma máquina que estava conectada a um hotspot móvel WiFi (mas pode acontecer em outras circunstâncias).

Tem algo a ver com a forma como o dns biblioteca é usada no Windows, portanto, isso pode acontecer com outros aplicativos que a usam da mesma maneira.

Essencialmente, dns.Resolver verifica o registro do Windows em busca de todas as interfaces de rede encontradas em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\



O hotspot móvel WiFi ao qual a máquina estava conectada tinha definido um DhcpDomain chave com valor ".home ". O dns.Resolver encontrou esse valor e o dividiu usando o ponto em vários rótulos, sendo um deles vazio. Isso causou a exceção que você mencionou:dns.name.EmptyLabel: A DNS label is empty .

Isso ocorreu mesmo quando a rede WiFi estava desligada:essas eram as últimas configurações que estavam em uso e dns.Resolver não verificou se a interface estava habilitada.

A versão mais recente do pgAdmin parece ser uma versão mais antiga do dnspython (1.16.0), então não tenho certeza se isso foi corrigido em versões mais recentes. Por enquanto, parece haver duas opções:

  • Exclua ou altere o DhcpDomain subchave se você encontrá-la em uma das subchaves de HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ (pode até haver uma maneira de forçar esse valor através do Painel de Controle).

  • Conecte-se a uma rede diferente que não defina esse valor.