PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Impossibile contattare il server pgAdmin 4:errore irreversibile

Questo è qualcosa che sembra essere cambiato tra pgAdmin4 5.1 e 5.7. L'ho visto su una macchina che era stata collegata a un hotspot mobile WiFi (ma potrebbe accadere in altre circostanze).

Ha qualcosa a che fare con il modo in cui il dns libreria viene utilizzata su Windows, quindi ciò potrebbe accadere ad altre applicazioni che la utilizzano allo stesso modo.

In sostanza, dns.Resolver esegue la scansione del registro di Windows per tutte le interfacce di rete trovate in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\

L'hotspot mobile Wi-Fi a cui era stata collegata la macchina aveva impostato un DhcpDomain chiave con valore ".home ". Il dns.Resolver trovato questo valore e diviso usando il punto in più etichette, una delle quali vuota. Ciò ha causato l'eccezione che hai menzionato:dns.name.EmptyLabel: A DNS label is empty .

Ciò si verificava anche quando la rete WiFi era spenta:quelle erano le ultime impostazioni che erano state utilizzate e dns.Resolver non ha verificato se l'interfaccia era abilitata.

L'ultima versione di pgAdmin sembra essere una versione precedente di dnspython (1.16.0), quindi non sono sicuro che questo sia stato risolto nelle versioni più recenti. Per ora, sembrano esserci due opzioni:

  • Elimina o modifica il DhcpDomain sottochiave se la trovi in ​​una delle sottochiavi di HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ (potrebbe anche esserci un modo per forzare quel valore tramite il Pannello di controllo).

  • Connettiti a una rete diversa che non imposta questo valore.