Thread: Grant on multiple objects

Grant on multiple objects

From
Jason Dixon
Date:
Is it possible to GRANT permissions on multiple objects at once?  I
would like to assign limited permissions on multiple objects (tables,
indices, sequences in the same database) without granting full
ownership.  For example, something like this:

GRANT SELECT, INSERT, UPDATE on (SELECT relname FROM pg_class WHERE
relkind in ('r', 'i', 'S') AND relnamespace=2200) to jason;

Is this possible?  I understand from reading the documentation that
this is not in the SQL standard, but I'm hopeful there is some type of
work-around.

Thanks,

--
Jason Dixon
DixonGroup Consulting
http://www.dixongroup.net


Re: Grant on multiple objects

From
Bruno Wolff III
Date:
On Sat, Jan 01, 2005 at 11:04:16 -0500,
  Jason Dixon <jason@dixongroup.net> wrote:
> Is it possible to GRANT permissions on multiple objects at once?  I
> would like to assign limited permissions on multiple objects (tables,
> indices, sequences in the same database) without granting full
> ownership.  For example, something like this:

Yes, but not the way you want. You can list multiple objects of the same
type when issuing a GRANT command. However you can't use a query in the
GRANT statement to generate the list. If you are doing this programatically
you could do a select for each type and use the results to build GRANT
statements.

Re: Grant on multiple objects

From
Jason Dixon
Date:
On Jan 1, 2005, at 2:18 PM, Bruno Wolff III wrote:

> On Sat, Jan 01, 2005 at 11:04:16 -0500,
>   Jason Dixon <jason@dixongroup.net> wrote:
>> Is it possible to GRANT permissions on multiple objects at once?  I
>> would like to assign limited permissions on multiple objects (tables,
>> indices, sequences in the same database) without granting full
>> ownership.  For example, something like this:
>
> Yes, but not the way you want. You can list multiple objects of the
> same
> type when issuing a GRANT command. However you can't use a query in the
> GRANT statement to generate the list. If you are doing this
> programatically
> you could do a select for each type and use the results to build GRANT
> statements.

Thanks for clarifying this.  I guess I'll write a DBD::Pg script to
automate much of the work.

--
Jason Dixon
DixonGroup Consulting
http://www.dixongroup.net