PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Der pgAdmin 4-Server konnte nicht kontaktiert werden:Schwerwiegender Fehler

Dies scheint sich zwischen pgAdmin4 5.1 und 5.7 geändert zu haben. Ich habe dies auf einem Computer gesehen, der mit einem mobilen WLAN-Hotspot verbunden war (aber es könnte unter anderen Umständen passieren).

Es hat etwas mit der Art und Weise des dns zu tun Bibliothek wird unter Windows verwendet, daher könnte dies anderen Anwendungen passieren, die sie auf die gleiche Weise verwenden.

Im Wesentlichen dns.Resolver durchsucht die Windows-Registrierung nach allen Netzwerkschnittstellen, die unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ gefunden werden

Der mobile WLAN-Hotspot, mit dem das Gerät verbunden war, hatte eine DhcpDomain festgelegt Schlüssel mit dem Wert ".home ". Der dns.Resolver diesen Wert gefunden und mit dem Punkt in mehrere Labels aufgeteilt, von denen eines leer ist. Das hat die von Ihnen erwähnte Ausnahme verursacht:dns.name.EmptyLabel: A DNS label is empty .

Dies trat auch dann auf, wenn das WLAN-Netzwerk ausgeschaltet war:Dies waren die letzten verwendeten Einstellungen und dns.Resolver nicht überprüft, ob die Schnittstelle aktiviert ist.

Die neueste Version von pgAdmin scheint eine ältere Version von dnspython zu sein (1.16.0), daher bin ich mir nicht sicher, ob dies in neueren Versionen behoben wurde. Im Moment scheint es zwei Optionen zu geben:

  • Löschen oder ändern Sie die DhcpDomain Unterschlüssel, wenn Sie ihn in einem der Unterschlüssel von HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ finden (Möglicherweise gibt es sogar eine Möglichkeit, diesen Wert über die Systemsteuerung zu erzwingen).

  • Stellen Sie eine Verbindung zu einem anderen Netzwerk her, das diesen Wert nicht festlegt.