Postgres password authentication fails

I’ve installed PostgreSQL 9.1 and pgadmin3 on Ubuntu Server 13.10.

I configured postgresql.conf with: listen_addresses = '*'

also I configured ph_hba.conf by changed peer connections to md5

Plus I reset the password of postgres by: sudo password postgres

then restarted the service with sudo /etc/init.d/postgresql restart

after that I tried to connect to the default PostgreSQL template database:

sudo -u postgres psql template1

but login failed with this error message:

psql: FATAL:  password authentication failed for user "postgres"

then I tried to login from the pgadmin, which gave me the same error.

I’ve read here that it might be a password expiry dates bug
PostgreSQL user can not connect to server after changing password

but I couldn’t solve it coz I cannot login with psql. Does anyone now how to resolve this issue?

EDIT

ph_hba file:

here

Screenshot:

enter image description here

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

You are confusing the password for the Unix user "postgres" with the database password for the database user "postgres". These are not the same.

You’ve locked yourself out, because you enabled md5 authentication for database user postgres without setting a password for the database user postgres.

Add a new line to the top of pg_hba.conf:

local    postgres     postgres     peer

Then restart/reload PostgreSQL:

/etc/init.d/postgresql reload\

and run:

sudo -u postgres psql

From the resulting prompt:

ALTER USER postgres PASSWORD 'my_postgres_password';

remove the line you added to pg_hba.conf and restart Pg again. You can now use the password you set above to connect to PostgreSQL as the postgres user.

To learn more, read the "client authentication" chapter of the user manual and the docs on pg_hba.conf.

Solution 2

Try to modify the password of the database template1 using this:

$ psql -c "ALTER USER postgres WITH PASSWORD 'yourPassword'" -d template1

Solution 3

in your pg_hba.conf

# IPv4 local connections:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
host    all         all         127.0.0.1/32         trust

if it does not work then try with

host    all         all         your_ip/32         trust

then restart your data base
it will work fine..
if you make trust then there is no need for password if you make MD5 then it will ask password…

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply