On Tue, Feb 16, 2010 at 12:22:29PM +0100, joy wrote:
> I want to find out whether a user has a select privilege on a particular
> database. This is what I see when it does:
> 
> # select relacl from pg_class where relname = 'mydbtable';
>                                   relacl
> --------------------------------------------------------------------------
>  {mydbname=arwdxt/mydbname,mydbuser=r/mydbname}
> (1 row)
> 
> Is this the best way to parse that easily from within PostgreSQL:
> 
> # select 1 from pg_class where relname = 'mydbtable' and relacl ~ 
> 'mydbuser=r/mydbname';
>  ?column?
> ----------
>         1
> (1 row)
> 
> # select 1 from pg_class where relname = 'mydbtable' and relacl ~ 
> 'mydbuser=w/mydbname';
>  ?column?
> ----------
> (0 rows)

Hmm, sorry, it looks like the string after the slash (/) is grantor, rather
than database name. If I omit it, then it warns about defaulting grantor to
user ID 10. Is there any way to check for any grantor?

-- 
     2. That which causes joy or happiness.

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to