Wydaje się, że zmieniło się to między pgAdmin4 5.1 i 5.7. Widziałem to na komputerze, który był podłączony do mobilnego hotspotu Wi-Fi (ale może się to zdarzyć w innych okolicznościach).
Ma to coś wspólnego ze sposobem, w jaki dns
biblioteka jest używana w systemie Windows, więc może się to zdarzyć w przypadku innych aplikacji, które używają jej w ten sam sposób.
Zasadniczo dns.Resolver
skanuje rejestr systemu Windows w poszukiwaniu wszystkich interfejsów sieciowych znalezionych w HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
Mobilny punkt dostępu Wi-Fi, do którego podłączono komputer, ustawił DhcpDomain
klucz o wartości „.home
". dns.Resolver
znalazł tę wartość i podzielił ją za pomocą kropki na wiele etykiet, z których jedna jest pusta. To spowodowało wspomniany wyjątek:dns.name.EmptyLabel: A DNS label is empty
.
Miało to miejsce nawet wtedy, gdy sieć Wi-Fi była wyłączona:były to ostatnie ustawienia, które były używane i dns.Resolver
nie sprawdził, czy interfejs jest włączony.
Najnowsza wersja pgAdmin wydaje się być starszą wersją dnspythona (1.16.0), więc nie jestem pewien, czy zostało to naprawione w nowszych wersjach. Na razie wydaje się, że istnieją dwie opcje:
-
Usuń lub zmień
DhcpDomain
podklucz, jeśli znajdziesz go w jednym z podkluczyHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
(może być nawet sposób na wymuszenie tej wartości w Panelu sterowania). -
Połącz się z inną siecią, która nie ustawia tej wartości.