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

On 25 October 2011 13:21, Venkat Balaji <venkat.bal...@verse.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
>

Reply via email to