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.balaji@xxxxxxxx> 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 table1has 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---------------------tBelow link has all the other functions regarding checking permissionsHope this helps !ThanksVB