Ich habe PostgreSQL 9.1 auf meinem PC installiert (Win 7). Ich habe eine kleine Java -Anwendung, die mit login=sa
Und password=""
Erfolgreich eine Verbindung herstellt. 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 einem leeren Passwort von PgAdmin III zu meiner Datenbank?
EDIT
Dies ist nur ein Test, kein Produktionscode.
Ich kann von pgAdmin III aus eine Verbindung zu meiner Postgres-Instanz herstellen, ohne ein Kennwort für einen Benutzer, einschließlich Superuser wie postgres
.
Da Sie eine Verbindung von einem anderen Client aus herstellen, gibt es keinen Grund, warum Sie keine Verbindung von pgAdmin aus herstellen sollten, wenn sich diese auf derselben Workstation befinden - es sei denn, eine Firewall-Regel auf dem Client selbst erlaubt ein Programm, aber kein anderes.
Wenn das Problem für diesen Client spezifisch ist, müssen Sie möglicherweise eines oder mehrere der folgenden Elemente ändern:
Host sa all 192.168.0.nnn/32 vertrauen
listen_addresses = '*'
-A INPUT -s 192.168.0.nnn -m state --state NEW -j ACCEPT
Aber Ich empfehle Ihnen, nichts davon zu tun. Das Handbuch sagt aus gutem Grund Folgendes:
die Vertrauensauthentifizierung ist nur für TCP/IP-Verbindungen geeignet, wenn Sie jedem Benutzer auf jedem Computer vertrauen, der über die Zeilen pg_hba.conf, die das Vertrauen angeben, eine Verbindung zum Server herstellen darf. Es ist selten sinnvoll, Vertrauen für andere TCP/IP-Verbindungen als die von localhost (127.0.0.1) zu verwenden.
Betrachten Sie stattdessen entweder:
Ich habe diese Antwort woanders gefunden.
Wenn sich Ihre Datenbank auf dem lokalen Host befindet, lassen Sie das Feld Host in der Verbindung leer, anstatt "localhost" oder "127.0.0.1" zu verwenden. Dies weist PgAdmin an, anstelle von TCP eine Verbindung über den lokalen Unix-Socket herzustellen.