PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PG::ConnectionBad:fe_sendauth:kein Passwort angegeben

localhost as host bezieht sich auf eine TCP-Verbindung, was bedeutet, dass die Authentifizierungsmethode md5 ist (Passwort erforderlich) gemäß Ihrer pg_hba.conf :

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Für den peer Methode zu verwenden, müssten Sie sich über Unix-Domain-Sockets verbinden, und da Sie anscheinend ein Debian-ähnliches Betriebssystem verwenden, bedeutet dies, /var/run/postgresql einzufügen im host oder gar nichts (es ist die Voreinstellung, es sei denn, Umgebungsvariablen sagen etwas anderes).

BEARBEITEN:Wenn Sie Datenbank-URIs verwenden (unterstützt seit Rails-4.1, wie in http://weblog.rubyonrails.org/2014/4/8/Rails-4-1/ angekündigt), könnte die Syntax wie folgt lauten:

  • für localhost:
    test: "postgresql://localhost/myapp_test"

  • für die standardmäßige Unix-Socket-Domäne (Hostfeld leer gelassen):
    test: "postgresql:///myapp_test"