Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trying to set up postgres for ror app, getting error - fe_sendauth: no password supplied

Getting:

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

Settings in database.yml are the same as the app setup on other machines.

How can I set things up so that I don't need a password hardcoded?

I can view the db ok using PgAdmin-III.

I'd rather not have the password in database.yml as other machines using this app don't have/need it, so it seems likely to be something about my Pg install.

like image 327
Michael Durrant Avatar asked Sep 17 '12 01:09

Michael Durrant


2 Answers

You need to change your change your pg_hba.conf. Here's an example of mine:

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 

Note that trust means that anyone on address (in this case localhost) can connect as the listed user (or in this case any user of their choice). This is really only suitable for development configurations with unimportant data. Do not use this in production.

like image 186
Rodrigo Zurek Avatar answered Sep 19 '22 20:09

Rodrigo Zurek


@rodrigo-zurek was spot on; you have to change the pg_hba.conf. Just want to add this answer for the OSX users because the pg_hba.conf is located in a different place by default.

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

The default will have md5 in the column METHOD, but replace all of those with 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 

Then, open up pgAdmin III inside your Applications/PostgreSQL 9.X, right click the database (e.g. PostgreSQL 9.4 (localhost)), and click Reload Configuration. After this, I was able to rake db:create.

like image 29
Jack Avatar answered Sep 19 '22 20:09

Jack