sql >> Database >  >> RDS >> PostgreSQL

Er kon geen contact worden gemaakt met de pgAdmin 4-server:Fatale fout

Dit is iets dat lijkt te zijn veranderd tussen pgAdmin4 5.1 en 5.7. Ik heb dit gezien op een machine die was verbonden met een mobiele WiFi-hotspot (maar het zou in andere omstandigheden kunnen gebeuren).

Het heeft iets te maken met de manier waarop de dns bibliotheek wordt gebruikt op Windows, dus dit kan gebeuren met andere applicaties die het op dezelfde manier gebruiken.

In wezen, dns.Resolver scant het Windows-register op alle netwerkinterfaces die te vinden zijn onder HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\

De mobiele WiFi-hotspot waarmee de machine was verbonden, had een DhcpDomain . ingesteld sleutel met waarde ".home ". De dns.Resolver vond deze waarde en splitste deze met behulp van de punt in meerdere labels, waarvan er één leeg is. Dat veroorzaakte de uitzondering die u noemt:dns.name.EmptyLabel: A DNS label is empty .

Dit gebeurde zelfs als het wifi-netwerk was uitgeschakeld:dat waren de laatste instellingen die in gebruik waren en dns.Resolver heeft niet gecontroleerd of de interface was ingeschakeld.

De nieuwste versie van pgAdmin lijkt een oudere versie te zijn van dnspython (1.16.0), dus ik weet niet zeker of dit in recentere versies is opgelost. Voorlopig lijken er twee opties te zijn:

  • Verwijder of wijzig het DhcpDomain subsleutel als u deze vindt in een van de subsleutels van HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ (er zou zelfs een manier kunnen zijn om die waarde via het Configuratiescherm te forceren).

  • Maak verbinding met een ander netwerk dat deze waarde niet instelt.




  1. Postgresql recursieve self-join

  2. MySQL-script met parameters

  3. Kolom dubbelzinnig gedefinieerd

  4. Een MySQL-weergave maken met een automatisch oplopende ID-kolom