Re: How do I grant access to entire database at - Mailing list pgsql-admin

From Oliver Elphick
Subject Re: How do I grant access to entire database at
Date
Msg-id 1090183311.25749.98.camel@linda
Whole thread Raw
In response to Re: How do I grant access to entire database at  (Randall Perry <rgp@systame.com>)
Responses Re: How do I grant access to entire database at
List pgsql-admin
On Sun, 2004-07-18 at 20:52, Randall Perry wrote:
> This is a pain. Couldn't we gave something simple like
> GRANT ALL ON database.* TO JOE;
>
> Which would grant full access to all objects in the database to JOE for all
> time?

You can do it like this in psql:

\a
\t
\o /tmp/grant.sql
SELECT      'GRANT ALL ON ' || n.nspname || '.' || c.relname ||
            ' TO joe;'
  FROM      pg_catalog.pg_class AS c
            LEFT JOIN pg_catalog.pg_namespace AS n
                 ON n.oid = c.relnamespace
  WHERE     c.relkind IN ('r','v','S') AND
            n.nspname NOT IN ('pg_catalog', 'pg_toast') AND
            pg_catalog.pg_table_is_visible(c.oid)
  ORDER BY  n.nspname, c.relname;
\o
\i /tmp/grant.sql


The above could be put in a script and run from a Unix command prompt.

(The SQL used above is adaated from that used by psql's \d command.)

--
Oliver Elphick                                          olly@lfix.co.uk
Isle of Wight                              http://www.lfix.co.uk/oliver
GPG: 1024D/A54310EA  92C8 39E7 280E 3631 3F0E  1EC0 5664 7A2F A543 10EA
                 ========================================
     "For God so loved the world, that he gave his only
      begotten Son, that whosoever believeth in him should
      not perish, but have everlasting life."     John 3:16


pgsql-admin by date:

Previous
From: "Rune Lending"
Date:
Subject: recover deleted tuples
Next
From: "Cardoso Patrick"
Date:
Subject: users connected