Sorry to bother with the stupid question guys - I'm new to the Postgres. I'm having issue allowing user to access the database - the user is not allowed to access the data. I do the following: 1) grant all on database testdb table mytable to trinity;
By the command above you're granting privileges on the database object itself, i.e. connect, create schemas, creating the temprorary tables.
But when I login (psql -d testdb -U trinity) as trinity and check it, it doesn't work.
testdb=> select * from mytable; ERROR: permission denied for relation mytable
testdb=> \dp Access privileges Schema | Name | Type | Access privileges | Column access privileges --------+---------+-------+-------------------+-------------------------- public | mytable | table | | (1 row)
There is also entry in the log: 2012-08-26 13:06:01 CEST testdb trinity ERROR: permission denied for relation mytable 2012-08-26 13:06:01 CEST testdb trinity STATEMENT: select * from mytable;
Can someone explain what do I do wrong? Thank you in advance!
You need to grant on the another database object (table): GRANT SELECT ON mytable TO trinity.