Translate

Sunday, September 14, 2014

Peer authentication failed for user “postgres”, when trying to get pgsql working with rails

sudo nano /etc/postgresql/9.1/main/pg_hba.conf

local   all             postgres                                peer

Should be
 
local   all             postgres                                md5
 

Peer authentication

The peer authentication method works by obtaining the client's
  operating system user name from the kernel and using it as the allowed
  database user name (with optional user name mapping). This method is
  only supported on local connections. 


Password authentication

The password-based authentication methods are md5 and password. These methods operate similarly except for the way that the password is sent across the connection, namely MD5-hashed and clear-text respectively.
If you are at all concerned about password "sniffing" attacks then md5 is preferred. Plain password should always be avoided if possible. However, md5 cannot be used with the db_user_namespace feature. If the connection is protected by SSL encryption then password can be used safely (though SSL certificate authentication might be a better choice if one is depending on using SSL).
After altering this file, don't forget to restart your PostgreSQL server. If you're on Linux, that would be sudo service postgresql restart.

/etc/init.d/postgresql reload

No comments:

Post a Comment