it-swarm.it

PgAdmin III - Come connettersi al database quando la password è vuota?

Ho installato PostgreSQL 9.1 sul mio PC (Win 7). Ho una piccola Java si collega correttamente ad essa con login=sa e password="". La connessione funziona.

Tuttavia, viene rifiutato dallo stesso PgAdmin III. Ottengo:

Error connecting to the server: fe_sendauth: no password supplied

Come posso collegarmi al mio database da PgAdmin III con una password vuota?

[~ ~ #] modifica [~ ~ #]

Questo è solo un test, non un codice di produzione.

21

Posso collegarmi alla mia istanza di postgres da pgAdmin III senza una password per qualsiasi utente, inclusi i superutente come postgres.

Poiché si sta effettuando la connessione ok da un altro client, non vi è alcun motivo per cui non si dovrebbe essere in grado di connettersi da pgAdmin se si trovano sulla stessa workstation, a meno che alcune regole del firewall sul client stesso consentano un programma ma non un altro.

Se il problema è specifico per questo client, potrebbe essere necessario modificare uno o più di:

  • pg_hba.conf
Host su tutti 192.168.0.nnn/32 trust
  • postgresql.conf
hear_addresses = '*'
  • il firewall sul tuo server Postgres, ad esempio iptables:
-A INPUT -s 192.168.0.nnn -m state --state NEW -j ACCEPT

Ma Consiglio di non fare nulla di tutto ciò. Il manuale dice quanto segue con buone ragioni:

l'autenticazione sicura è adatta per le connessioni TCP/IP solo se ti fidi di ogni utente su ogni macchina a cui è consentito connettersi al server dalle linee pg_hba.conf che specificano la fiducia. Raramente è ragionevole usare la fiducia per qualsiasi connessione TCP/IP diversa da quelle da localhost (127.0.0.1).

Prendi invece in considerazione:

  • utilizzando una password e l'identificazione md5
  • tunneling port 5432 over ssh

Ho trovato questa risposta altrove.

Se il tuo DB si trova sull'host locale, prova a lasciare vuoto il campo Host nella connessione anziché utilizzare "localhost" o "127.0.0.1 ″. Questo dice a PgAdmin di connettersi tramite il socket unix locale anziché TCP.

31
Alex Jodidio