Re: List Permissions

From: Raghavendra <raghavendra(dot)rao(at)enterprisedb(dot)com>
To: "Maton, Brett" <matonb(at)ltresources(dot)co(dot)uk>
Cc: Venkat Balaji <venkat(dot)balaji(at)verse(dot)in>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: List Permissions
Date: 2011-10-25 12:47:57
Message-ID: CA+h6AhgjkZrXa6x2Yxs+iwtD6A=3HWq=gaVnHk=KnbsEnHk=ZQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Oct 25, 2011 at 6:04 PM, Maton, Brett <matonb(at)ltresources(dot)co(dot)uk>wrote:

> Thanks for the replies.
> Actually this was question posed by one of my colleagues, what he really
> wants to know is if there is the equivalent of MySQL's
>
> select * from all_tab_privs_recd where grantee = 'your user'
>
> Thanks again,
> Brett
>
>
>
You have that too...

select * from information_schema.role_table_grants where grantee='your
user';

---
Regards,
Raghavendra
EnterpriseDB Corporation
Blog: http://raghavt.blogspot.com/

> On 25 October 2011 13:21, Venkat Balaji <venkat(dot)balaji(at)verse(dot)in> wrote:
>
>> My answers are in line in RED -
>>
>> How can I list a users permissions table by table?
>>>
>>> i.e. User Joe
>>> has read/write on table1
>>>
>> has read on table2
>>> no access on table 3
>>>
>>
>> For a particular user you can use below function. You can write a SQL
>> query or script which takes table names from "pg_tables" one by one.
>>
>> has_table_privilege(user, table, privilege)
>>
>> Example :
>>
>> I am checking if user "postgres" has "select" privilege on "table1".
>>
>> postgres=# select
>> has_table_privilege('postgres','public.table1','select');
>>
>> has_table_privilege
>> ---------------------
>> t
>> (1 row)
>>
>>
>> For current user (user you logged in as) you can use the following
>> function
>>
>> has_table_privilege(table, privilege)
>>
>> I am checking if the current_user has "select" privilege on "table1"
>>
>> Example:
>>
>> postgres=# select current_user;
>>
>> current_user
>> --------------
>> postgres
>>
>> (1 row)
>>
>> postgres=# select has_table_privilege('public.table1','select');
>>
>> has_table_privilege
>> ---------------------
>> t
>>
>> Below link has all the other functions regarding checking permissions
>>
>> http://www.postgresql.org/docs/9.0/static/functions-info.html
>>
>> Hope this helps !
>>
>> Thanks
>> VB
>>
>
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Maton, Brett 2011-10-25 13:07:00 Re: List Permissions
Previous Message Maton, Brett 2011-10-25 12:34:20 Re: List Permissions