PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PG::ConnectionBad :fe_sendauth :aucun mot de passe fourni

localhost en tant qu'hôte fait référence à une connexion TCP, ce qui signifie que la méthode d'authentification est md5 (mot de passe requis) selon votre pg_hba.conf :

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

Pour le peer méthode à prendre, vous devez vous connecter via des sockets de domaine Unix, et puisque vous semblez utiliser un système d'exploitation de type Debian, cela signifie mettre /var/run/postgresql dans l'host champ, ou rien du tout (c'est la valeur par défaut sauf si les variables d'environnement indiquent le contraire).

EDIT :si vous utilisez des URI de base de données (supportés depuis Rails-4.1, comme annoncé dans http://weblog.rubyonrails.org/2014/4/8/Rails-4-1/), la syntaxe pourrait être :

  • pour localhost :
    test: "postgresql://localhost/myapp_test"

  • pour le domaine de socket Unix par défaut (champ hôte laissé vide) :
    test: "postgresql:///myapp_test"