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

57,225

Solution 1

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.

Solution 2

@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.

Share:
57,225

Related videos on Youtube

Michael Durrant
Author by

Michael Durrant

rails ruby rspec rock

Updated on July 17, 2020

Comments

  • Michael Durrant
    Michael Durrant almost 4 years

    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.

    • Craig Ringer
      Craig Ringer over 11 years
      I'd say you need to look at pg_hba.conf and see if you've added any ident or trust rules for the other DBs; compare to this one.
  • Michael Durrant
    Michael Durrant over 11 years
    Thanks. Unfortunately I did this and restarted postgres but it didn't help. Same error.
  • Craig Ringer
    Craig Ringer over 11 years
    @MichaelDurrant Sure you're connecting to the right server and editing the right pg_hba.conf? Try SHOW hba_file; in psql to find pg_hba.conf. Also check the PostgreSQL server logs.
  • Eric Hu
    Eric Hu over 11 years
    I had to change "PC" to "all" in order to get this to work, but otherwise thank you for this answer!
  • chris
    chris over 6 years
    You may have to reload your configuration after: in PGAdmin, right click "PostgreSQL X.Y" -> "Reload Configuration".
  • S.Perera
    S.Perera about 6 years
    Can you please tell how to edit pg_hba.conf and save? I am new to Mac
  • Juan José Ramírez
    Juan José Ramírez over 5 years
    This worked! But i had to restart the pg service. I did it with sudo -u postgres -i psql SELECT pg_reload_conf();. And I found the pg_hba.conf inside psql with SHOW hba_file; command.