Peer authentication failed error arrives when you try to login to your PostgreSQL user but authentication fails because by default
psql connects over UNIX sockets using
peer authentication instead of password authentication.
In this article we will learn how to get rid of FATAL: Peer authentication failed for user “postgres” error by enforcing password authentication over Unix sockets peer method,
First, navigate to the
10 is the PostgreSQL version it can be different for you.
Here resides the
pg_hba.conffile we need to do some changes here you may need
sudo access for this.
sudo nano pg_hba.conf
Scroll down the file till you find this –
# Database administrative login by Unix domain socket local all postgres peer
Here change the peer to md5 as follows.
# Database administrative login by Unix domain socket local all postgres md5
peermeans it will trust the authenticity of UNIX user hence does not prompt for the password.
md5means it will always ask for a password, and validate it after hashing with
Now save the file and restart the Postgres server.
sudo service postgresql restart
And that’s it!
Try to log in now.
sudo -u postgres psql Password: postgres=#