What to do when psql database does not exist?

670    Asked by FelicityDavies in SQL Server , Asked on Oct 3, 2022

: I have a linux user account, postgresql role, and associated database, all called foo.

from the linux user foo, I ran the command

dropdb foo

Now when I try to run psql from the linux user foo, I get the error...

psql: FATAL:  database "foo" does not exist

So does this mean that when running psql from a linux user account, there must be a database associated with that linux user account?

Answered by Fermina Zamorano

In case of psql database does not exist -

psql assumes that you want to connect to a database, you can either provide one (just after the command) or it will assume you want to connect to a database whose name is the same as your username (or the account name of the process that started psql):

So, you could write:

psql my_db


psql -d my_db

or yet

psql --dbname=my_db

... and psql will connect to the (local) database named my_db.

You have more connection options that you can check in the documentation.

If you don't have a database created yet, check createdb.

Your Answer


Parent Categories