Re: Question about granting permissions

From: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
To: Matvey Teplov <matvey(dot)teplov(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Question about granting permissions
Date: 2012-08-26 11:34:36
Message-ID: CAAfz9KNyQeTatzc2-iRXZJ=L=tCgvUxi3tB7xpu73mYTfrw5TQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hey Matvey,

2012/8/26 Matvey Teplov <matvey(dot)teplov(at)gmail(dot)com>

> Hi,
>
> 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.

>
> postgres=# \l
> List of databases
> Name | Owner | Encoding | Collation | Ctype |
> Access privileges
>
> -----------+----------+----------+-------------+-------------+-----------------------
> postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
> template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
> :
> postgres=CTc/postgres
> template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
> :
> postgres=CTc/postgres
> testdb | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres
> :
> postgres=CTc/postgres
> :
> trinity=CTc/postgres
> (4 rows)
>
> 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.

Please, see
http://www.postgresql.org/docs/9.2/static/sql-grant.html

--
// Dmitriy.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Guillaume Lelarge 2012-08-26 11:37:55 Re: Question about granting permissions
Previous Message Matvey Teplov 2012-08-26 11:10:13 Question about granting permissions