From: | Josip Rodin <joy(at)entuzijast(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: relacl parsing method? |
Date: | 2010-02-16 11:48:46 |
Message-ID: | 20100216114846.GA3382@orion.carnet.hr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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.
From | Date | Subject | |
---|---|---|---|
Next Message | Alexander Farber | 2010-02-16 12:14:26 | Week numbers and calculating weekly statistics/diagrams |
Previous Message | Peter Geoghegan | 2010-02-16 11:35:14 | Re: Having a plpgsql function return multiple rows that indicate its progress in a cursor like fashion |