sql >> Databasteknik >  >> RDS >> PostgreSQL

Det gick inte att kontakta pgAdmin 4-servern:Allvarligt fel

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 till HKEY_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.




  1. Problem med Entity-uppdatering med jpa/hibernate

  2. Automatiskt utöka en Python-lista med formaterad utdata

  3. Hur Mod() fungerar i PostgreSQL

  4. Flask-SQLAlchemy kontrollera om databasservern är responsiv