HiveBrain v1.2.0
Get Started
← Back to all entries
debugsqlModerate

PostgreSQL: changing password for a user is not working

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
postgresqluserworkingpasswordforchangingnot

Problem


  • I installed PostgreSQL on EC2 machine and now I want to change the password of user postgres



  • I do



$ sudo -u postgres psql
psql (9.1.5)
Type "help" for help.

postgres=# ALTER USER postgres WITH PASSWORD 'newpasswd';
ALTER ROLE


  • Then I exit the shell and try to login with new password



$ psql -U postgres -W
Password for user postgres: 
psql: FATAL:  Peer authentication failed for user "postgres"


My PostgreSQL version is

$ psql --version
psql (PostgreSQL) 9.1.5
contains support for command-line editing


What is that I am doing wrong?

Thank you

UPDATE
I made changes in pg_hba.conf and this is how it looks now

# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
#local   all             all                                     peer
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5


Then I restarted the postgres

$ sudo /etc/init.d/postgresql restart
 * Restarting PostgreSQL 9.1 database server                                                                                                                                               [ OK ]


I tried logging in again, but failed

$ psql -U postgres -W
Password for user postgres: 
psql: FATAL:  Peer authentication failed for user "postgres"

Solution

Like willglynn said, it's probably your pg_hba.conf file.

If you have the following line:

local   all    all     peer


then change it to:

local   all    all     md5


That should then let you login with your new password (assuming that you correctly supply it) :)

Code Snippets

local   all    all     peer
local   all    all     md5

Context

StackExchange Database Administrators Q#24774, answer score: 12

Revisions (0)

No revisions yet.