Re: Grant on Database? - Mailing list pgsql-general

From Dan Wilson
Subject Re: Grant on Database?
Date
Msg-id 005e01c09be0$a758d410$078353d8@danwilson
Whole thread Raw
In response to Grant on Database?  (David Wheeler <david@wheeler.net>)
Responses Re: Grant on Database?
List pgsql-general
> 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


pgsql-general by date:

Previous
From: Ian Lance Taylor
Date:
Subject: Re: Weird indices
Next
From: Stephan Szabo
Date:
Subject: Re: [SQL] two tables - foreign keys referring to each other...