I'm getting the error:
FATAL: Peer authentication failed for user "postgres"
when I try to make postgres work with Rails.
Here's my pg_hba.conf
, my database.yml
, and a dump of the full trace.
I changed authentication to md5 in pg_hba and tried different things, but none seem to work.
I also tried creating a new user and database as per Rails 3.2, FATAL: Peer authentication failed for user (PG::Error)
But they don't show up on pgadmin or even when I run sudo -u postgres psql -l
.
Any idea where I'm going wrong?
Best Answer
The problem is still your
pg_hba.conf
file*.This line:
Should be:
After altering this file, don't forget to restart your PostgreSQL server. If you're on Linux, that would be
sudo systemctl restart postgresql
(on older systems:sudo service postgresql restart
).Locating
hba.conf
Note that the location of this file isn't very consistent.
You can use
locate pg_hba.conf
or ask PostgreSQLSHOW hba_file;
to discover the file location.Usual locations are
/etc/postgresql/[version]/main/pg_hba.conf
and/var/lib/pgsql/data/pg_hba.conf
.These are brief descriptions of the
peer
vsmd5
options according to the official PostgreSQL docs on authentication methods.Peer authentication
Password authentication