PGADMIN III - Wie können Sie eine Verbindung zur Datenbank herstellen, wenn das Passwort leer ist?

dba.stackexchange https://dba.stackexchange.com/questions/8111

  •  16-10-2019
  •  | 
  •  

Frage

Ich habe Postgresql 9.1 auf meinem PC installiert (Win 7). Ich habe eine kleine Java -Anwendung, die sich erfolgreich mit ihr verbindet, mit login=sa und password="". Die Verbindung funktioniert.

Es wird jedoch von Pgadmin III selbst abgelehnt. Ich bekomme:

Error connecting to the server: fe_sendauth: no password supplied

Wie verbinde ich mich mit meiner Datenbank von Pgadmin III mit einem leeren Passwort?

BEARBEITEN

Dies ist nur ein Test, kein Produktionscode.

War es hilfreich?

Lösung

Ich kann eine Verbindung zu meiner Postgres -Instanz von Pgadmin III ohne Passwort für jeden Benutzer, einschließlich Superuser wie wie postgres.

Da Sie OK von einem anderen Kunden verbinden, gibt es keinen Grund, warum Sie sich nicht von PGADMIN herstellen sollten, wenn sie sich auf derselben Workstation befinden - es sei denn, eine Firewall -Regel für den Kunden selbst erlaubt einem Programm, aber nicht einem anderen.

Wenn das Problem für diesen Kunden spezifisch ist, müssen Sie möglicherweise einen oder mehrere von:

  • pg_hba.conf
host    sa    all         192.168.0.nnn/32     trust
  • PostgreSQL.Conf
listen_addresses = '*'
  • Die Firewall auf Ihrem Postgres -Server, z. B. Iptables:
-A INPUT -s 192.168.0.nnn -m state --state NEW -j ACCEPT

Aber Ich empfehle, dass Sie nichts davon tun. Das Handbuch sagt Folgendes mit gutem Grund:

Die Vertrauensauthentifizierung ist nur für TCP/IP -Verbindungen geeignet, wenn Sie jedem Benutzer auf jedem Computer vertrauen, der durch die Zeilen pg_hba.conf eine Verbindung zum Server herstellen darf, die das Vertrauen angeben. Es ist selten vernünftig, Vertrauen für andere TCP/IP -Verbindungen als die von Localhost (127.0.0.1) zu verwenden.

Betrachten Sie stattdessen entweder:

  • Verwenden eines Passworts und einer MD5 -Identifizierung
  • Tunnelport 5432 über SSH

Andere Tipps

Ich fand diese Antwort anderswo.

Wenn sich Ihr DB auf dem lokalen Host befindet, lassen Sie das Host -Feld in der Verbindung leer gelassen, anstatt „Localhost“ oder „127.0.0.1“ zu verwenden. Dies sagt PGADMIN, sie sollen über die lokale UNIX -Socket anstelle von TCP herstellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top