sql >> Base de Datos >  >> RDS >> PostgreSQL

PG::ConnectionBad:fe_sendauth:no se proporcionó contraseña

localhost como host se refiere a una conexión TCP, lo que significa que el método de autenticación es md5 (se requiere contraseña) según su pg_hba.conf :

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

Para el peer Para tomar el método, debe conectarse a través de sockets de dominio Unix, y dado que parece estar usando un sistema operativo similar a Debian, eso significa poner /var/run/postgresql en el host campo, o nada en absoluto (es el valor predeterminado a menos que las variables de entorno indiquen lo contrario).

EDITAR:si usa URI de base de datos (compatible desde Rails-4.1, como se anunció en http://weblog.rubyonrails.org/2014/4/8/Rails-4-1/), la sintaxis podría ser:

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

  • para el dominio de socket predeterminado de Unix (campo de host dejado vacío):
    test: "postgresql:///myapp_test"