Đây là điều gì đó dường như đã thay đổi giữa pgAdmin4 5.1 và 5.7. Tôi đã thấy điều này trên một máy đã được kết nối với điểm phát sóng di động WiFi (nhưng nó có thể xảy ra trong các trường hợp khác).
Nó liên quan đến cách dns
thư viện được sử dụng trên Windows, vì vậy điều này có thể xảy ra với các ứng dụng khác sử dụng nó theo cách tương tự.
Về cơ bản, dns.Resolver
quét sổ đăng ký Windows để tìm tất cả các giao diện mạng được tìm thấy trong HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
Điểm phát sóng di động WiFi mà máy được kết nối đã đặt DhcpDomain
khóa có giá trị ".home
". dns.Resolver
đã tìm thấy giá trị này và chia nó bằng cách sử dụng dấu chấm thành nhiều nhãn, một trong số chúng đang trống. Điều đó gây ra ngoại lệ mà bạn đề cập:dns.name.EmptyLabel: A DNS label is empty
.
Điều này xảy ra ngay cả khi mạng WiFi bị tắt:đó là những cài đặt cuối cùng được sử dụng và dns.Resolver
không kiểm tra xem giao diện đã được bật chưa.
Phiên bản mới nhất của pgAdmin dường như là phiên bản cũ hơn của dnspython (1.16.0), vì vậy tôi không chắc liệu điều này đã được khắc phục trong các phiên bản gần đây hay chưa. Hiện tại, dường như có hai lựa chọn:
-
Xóa hoặc thay đổi
DhcpDomain
khóa con nếu bạn tìm thấy nó trong các khóa con củaHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
(thậm chí có thể có một cách để buộc giá trị đó thông qua Bảng điều khiển). -
Kết nối với một mạng khác không đặt giá trị này.