Detta är något som verkar ha ändrats mellan pgAdmin4 5.1 och 5.7. Jag har sett detta på en maskin som hade varit ansluten till en mobil WiFi-hotspot (men det kan hända under andra omständigheter).
Det har något att göra med hur dns
används biblioteket används på Windows, så detta kan hända med andra program som använder det på samma sätt.
I huvudsak dns.Resolver
söker igenom Windows-registret efter alla nätverksgränssnitt som finns under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
Den mobila WiFi-hotspot som maskinen var ansluten till hade ställt in en DhcpDomain
nyckel med värdet ".home
". dns.Resolver
hittade detta värde och delade upp det med hjälp av punkten i flera etiketter, en av dem var tom. Det orsakade undantaget du nämner:dns.name.EmptyLabel: A DNS label is empty
.
Detta inträffade även när WiFi-nätverket var avstängt:det var de senaste inställningarna som hade använts och dns.Resolver
kontrollerade inte om gränssnittet var aktiverat.
Den senaste versionen av pgAdmin verkar vara en äldre version av dnspython (1.16.0), så jag är inte säker på om detta har åtgärdats i nyare versioner. För närvarande verkar det finnas två alternativ:
-
Ta bort eller ändra
DhcpDomain
undernyckel om du hittar den i en av undernycklarna tillHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
(det kan till och med finnas ett sätt att tvinga fram det värdet genom kontrollpanelen). -
Anslut till ett annat nätverk som inte anger detta värde.