46

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

2
  • 8
    I'm quite irritated by the fact that you have cloned this post. I just wrote an answer to this, only to discover that you also posted an identical question to stackoverflow.com that already had an accepted answer. Don't copy and paste answers between sites, you're wasting everyone's time and making it harder to find information. If you insist on doing this, make links between them. Feb 1, 2014 at 4:34
  • SO link: stackoverflow.com/q/21483540/398670
    – fossfreedom
    Feb 2, 2014 at 9:50

3 Answers 3

85

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.

8
  • 1
    Testing a new pg9.6.6 in a UBUNTU server 16 LTS.... And I was surprised by all these "beginner's problems". Arrive here with the solution... Do step by step ... The big surprise: not working! psql -W postgresql://postgres:postgres@localhost producing again same "FATAL: password authentication failed for user 'postgres'" Nov 22, 2017 at 0:41
  • Solution: all lines trust is working... Nov 22, 2017 at 0:52
  • I am using ssh... After puting back all to md5, one by one (local, local, host...), only the line "host all 127.0.0.1/32 trust" can't change, was preserved with "trust". So, new question: why? Nov 22, 2017 at 1:10
  • the pg_hba.conf file is owned by system user postgres. I only know the database password of database user postgres, So question is how do I edit this conf file without changing its ownership?
    – Shailen
    Dec 3, 2017 at 20:52
  • Can you tell please, what the line local postgres postgres peer really needed for in pg_hba.conf? Everything works well without it
    – MaxCore
    Sep 7, 2018 at 23:38
3

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

$ psql -c "ALTER USER postgres WITH PASSWORD 'yourPassword'" -d template1
2
  • Gave me the same error but with user "root" instead of user "postgres"
    – Shadin
    Jan 31, 2014 at 15:59
  • Can you explain why this may help?
    – xliiv
    Nov 8, 2018 at 8:49
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...

3
  • 3
    do not use this approach anywhere, you should always restrict user access to you data Apr 22, 2018 at 10:07
  • unless you are running a CTF server.
    – PathToLife
    Sep 2, 2019 at 15:47
  • where is pg_hba.conf file in ubuntu Dec 23, 2020 at 7:31

Not the answer you're looking for? Browse other questions tagged or ask your own question.