Обсуждение: Grant on multiple objects
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
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.
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