> Hey All,
>
> We have a need to grant privileges on entire databases to users and/or
> groups. It looks like GRANT just grants on tables and sequences, but I'd
> like to know if there's a more direct way to do it. What I'm doing now
> is getting a list of tables and sequences and calling grant for each one
> in turn. How am I getting this list (I'm user Perl, not psql)? With this
> query:
>
> SELECT relname
> FROM pg_class
> WHERE relkind IN ('r', 'S')
> AND relowner IN (
> SELECT usesysid
> FROM pg_user
> WHERE LOWER(usename) = 'myuser')
>
> Anyway, pointers to any shortcuts for this would be greatly appreciated.
First pointer, phpPgAdmin (http://www.greatbridge.org/project/phppgadmin)
has this built into it. It will automatically get the list of tables,
sequences and views and run a grant statment on them.
Second pointer. GRANT will take multiple "relations" seperated by commas:
GRANT ALL ON table1, table1, seq1, seq2, view1, view2 TO my_user;
-Dan