psql's synopsis is psql [option...] [dbname [username]] Thus, the call "psql super" connects psql to a database "super" but since username unspecified it is connected with current Unix user (which is returned by whois(1)).
So, you should call psql like that psql super super or like that psql -U super In last case psql will be connected to the database "super".
psql (8.4.5) Type "help" for help.
super=> \du+ List of roles Role name | Attributes | Member of | Description -----------+-------------+-----------+------------- bobo | | {} | junk | | {} | myuid | | {} | postgres | Superuser | {} | : Create role : Create DB slitt | Create DB | {} | super | Superuser | {} | : Create role : Create DB
super=> super=> alter user myuid password 'mypass'; ERROR: permission denied super=>
I don't get it. User super is listed as attributes Superuser, create role and createdb, so why the lack of permission? This also happened when I was in as "postgres".
Interestingly, earlier tonight I was changing passwords just fine. I don't know what happened. Obviously there's a chunk of information I'm missing.
What diagnostic tests can I do to narrow this down?