Това е нещо, което изглежда се е променило между pgAdmin4 5.1 и 5.7. Виждал съм това на машина, която е била свързана към WiFi мобилна гореща точка (но може да се случи при други обстоятелства).
Има нещо общо с начина, по който dns
библиотека се използва в Windows, така че това може да се случи с други приложения, които я използват по същия начин.
По същество, dns.Resolver
сканира системния регистър на Windows за всички мрежови интерфейси, намерени под HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
WiFi мобилната точка за достъп, към която машината е била свързана, е задала DhcpDomain
ключ със стойност „.home
". dns.Resolver
намери тази стойност и я раздели с помощта на точката на множество етикети, като един от тях е празен. Това причини изключението, което споменахте:dns.name.EmptyLabel: A DNS label is empty
.
Това се случи дори когато WiFi мрежата беше изключена:това бяха последните използвани настройки и dns.Resolver
не провери дали интерфейсът е активиран.
Последната версия на pgAdmin изглежда е по-стара версия на dnspython (1.16.0), така че не съм сигурен дали това е коригирано в по-нови версии. Засега изглежда има две опции:
-
Изтрийте или променете
DhcpDomain
подключ, ако го намерите в един от подключовете наHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
(може дори да има начин тази стойност да бъде въведена чрез контролния панел). -
Свържете се с друга мрежа, която не задава тази стойност.