Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

psql fatal role does not exist

I recently installed the latest version of Ubuntu and I'm not used to it yet. I had several problems connecting PostgreSQL with pgadmin3.

I tried to follow several tutorials to create a localhost server which I can use in pgadmin3. I didn't really hit the mark and I think I made it worse by installing, uninstalling, installing, uninstalling, trying answers I found... At this point I'm not sure my PostgreSQL is clean. It could be possible that I have two PostgreSQL installed, once again, I'm not sure. I tried to uninstall it but I had an error which basically said PostgreSQL wasn't in sudo.

The thing is I now have this error running psql in the console:

$psql
psql: FATAL: role "user" does not exist 

I can't find the pg_hba.conf and at this point I'm too afraid to make things even worse by trying following any other posts.

How could I make this work?

like image 455
whiplash Avatar asked Sep 06 '25 17:09

whiplash


1 Answers

As pointed out in the comments, your pg_hba.conf seems fine.

Usually, the database will run as the postgres user (check ps aux | grep postgres to find out the username postgres is running under).

Log in as that user, for example sudo su - postgres, then create a user matching your normal Ubuntu user account (createuser username), and finally create a database with that same name and set the owner (-O) to that database user, like this: createdb -O username username).

That should make calling psql work, and pgadmin - as long as you start it as your default user, username - should work as well.

Edit: By default, psql will use your Linux username as default value for both the database-username and the database-name. You can override the username by using -U someotherusername, and connect to a different database by adding that DB name to the command line, such as psql someotherdbname. You might also find psql -l useful for listing the existing databases.

like image 119
niko Avatar answered Sep 10 '25 05:09

niko