rails proyecto new myapp digitalocean datos crear configurar conexion conectar con ruby-on-rails ruby postgresql passwords pg

ruby on rails - proyecto - Intentando configurar postgres para la aplicación ror, obteniendo el error-fe_sendauth: sin contraseña.



rails new myapp postgresql (4)

Consiguiendo:

An error has occurred: Error connecting to the server: fe_sendauth: no password supplied

La configuración en database.yml es la misma que la configuración de la aplicación en otras máquinas.

¿Cómo puedo configurar las cosas para que no necesite una contraseña codificada?

Puedo ver el archivo db ok usando PgAdmin-III.

Prefiero no tener la contraseña en database.yml ya que otras máquinas que usan esta aplicación no la tienen / no necesitan, por lo que parece ser algo relacionado con mi instalación de Pg.


@ rodrigo-zurek fue perfecto; tienes que cambiar el pg_hba.conf . Solo quiero agregar esta respuesta para los usuarios de OSX porque el pg_hba.conf está ubicado en un lugar diferente por defecto.

sudo su - postgres vim /Library/PostgreSQL/<YOUR_VERSION>/data/pg_hba.conf

El valor predeterminado tendrá md5 en la columna METHOD , pero reemplace todos aquellos con trust :

# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust

A continuación, abra pgAdmin III dentro de sus Aplicaciones / PostgreSQL 9.X, haga clic con el botón derecho en la base de datos (p. Ej., PostgreSQL 9.4 (localhost) ) y haga clic en Reload Configuration . Después de esto, pude rake db:create .


Debes cambiar tu cambio pg_hba.conf . Aquí hay un ejemplo mío:

pg_hba.conf :

TYPE DATABASE USER ADDRESS METHOD host all all 127.0.0.1/32 trust host all PC 127.0.0.1/32 trust host all all ::1/128 trust

Tenga en cuenta que la trust significa que cualquier persona en la address (en este caso, el servidor local) puede conectarse como el usuario indicado (o en este caso, cualquier usuario de su elección). Esto es realmente solo adecuado para configuraciones de desarrollo con datos sin importancia. No use esto en producción .


No se ha proporcionado una contraseña significa que la ha configurado para requerir autenticación de contraseña y no se está proporcionando ninguna contraseña. Aquí hay documentación para 9.0: http://www.postgresql.org/docs/9.0/static/auth-methods.html

Tenga en cuenta que la autenticación local se cambió de "ident" a "igual" en 9.1 para evitar confusiones. Vea los documentos 9.1 en http://www.postgresql.org/docs/9.1/static/auth-methods.html

También tenga en cuenta que este es un conjunto de reglas ordenadas con el primer partido que rige. Además, local y localhost son diferentes. Local es para conexiones locales de socket de dominio UNIX, mientras que el host localhost sería para conexiones de red a localhost. Por lo tanto, parece que tienes que resolver algunos problemas, pero es de esperar que los documentos te ayuden.


#appveyor.yml services: postgresql test_script: - SET PGUSER=postgres - SET PGPASSWORD=Password12! - PATH=C:/Program Files/PostgreSQL/9.6/bin/;%PATH%