psql: permission denied for database "dbname" ("User does not have CONNECT privilege.") / "unrecognized role option 'connect'"

boulder_ruby picture boulder_ruby · Oct 10, 2013 · Viewed 19.5k times · Source

when I try to login to my database with psql, doing this:

psql dbname --username=qgis --password
>>(prompts for password, entered password)
psql: FATAL:  permission denied for database "gisdatabase"
DETAIL:  User does not have CONNECT privilege.

I've searched around on Google for information on this simple issue but haven't found anyone directly talking about this.

I've tried doing this:

psql dbname
>>ALTER ROLE qgis WITH CONNECT;

But got this error:

ERROR:  unrecognized role option "connect"

So once again, here I am, asking yet another question on stackoverflow. Thanks for your time folks

Answer

Zoltán picture Zoltán · Oct 10, 2013

You need to grant a privilege. Try this:

psql dbname
>> GRANT CONNECT ON DATABASE dbname TO qgis;

I assume you will also need further privileges. PostgreSQL has one of the best documentation pages of all the DBMSs: http://www.postgresql.org/docs/9.0/static/sql-grant.html (You can choose the postgres version you're using at the top of the page).