PostgreSQL fe_sendauth: sin contraseña
unix ansible (2)
Sé que hay miles de preguntas como esta aquí en SO, pero las he visto todas y todavía no puedo resolver mi problema.
Estoy haciendo todo lo posible usando ansible, así que está bastante automatizado pero, de todos modos, aquí están mis archivos:
pg_hba.conf
local all all trust
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
host all all 10.11.12.0/24 md5
database.yml
production:
database: my_db
adapter: postgresql
host: localhost
username: deploy
encoding: unicode
min_messages: WARNING
template: template0
Y tengo un usuario de deploy
(y usuario de postgres sin una contraseña establecida) en mi sistema creado. Y ahora, mientras estoy totalmente habilitado para psql -d my_db
sesión en postgres desde bash usando psql -d my_db
(en el servidor), no puedo conectarme a la base de datos con mi aplicación de rieles. Ejecutando rake db: migrateMigration me da
PG::ConnectionBad: fe_sendauth: no password supplied
Soy bastante terrible para ser un devop y estoy luchando con ese problema desde el día anterior a la mañana de ayer y todavía estoy aquí, así que si hay alguien que pueda ayudarme con eso, estaría más que agradecido.
En C puedes hacerlo así, ni siquiera sé qué es Rails.
conninfo = "hostaddr = 127.0.0.1 dbname = bitcoin user = alan password = mypass";
conn = PQconnectdb(conninfo);
Tenía exactamente el mismo mensaje de error.
psql está utilizando una conexión de socket local, rieles está utilizando localhost sobre TCP / IP. Local es confiable, localhost requiere una contraseña (con md5). Puede configurar un archivo pgpass para su usuario de rieles: postgresql.org/docs/current/static/libpq-pgpass.html