Which means everytime I create a new table or a new schema, I have to run the script again, right?
Thanks.
Oliver Elphick <olly@lfix.co.uk>
08/17/2005 09:08 AM Please respond to olly
To: Zuoxin Wang/CA/KAIPERM@Kaiperm cc: agold@cbamedia.com, pgsql-admin@postgresql.org Subject: Re: [ADMIN] GRANT ALL PRIVILEGES ON DATABASE
On Wed, 2005-08-17 at 08:14 -0700, Zuoxin.Wang@kp.org wrote: > > Could you tell us what is the best way to grant a user who can select > all data from all tables, if I don't like to write a script which > Andrew memtioned earlier.
Here's a quick way to generate a script and then run it, all from within a psql session. This grants all privileges on all visible tables to a user called that_user. It works by generating the commands and writing them to a file, then executing that file as an SQL script:
$ psql -d my_database \a \t \o /tmp/grant_privileges select 'GRANT ALL PRIVILEGES ON ' || c.relname || ' TO that_user;' from pg_catalog.pg_class AS c LEFT JOIN pg_catalog.pg_namespace AS n ON n.oid = c.relnamespace where relkind = 'r' AND n.nspname NOT IN ('pg_catalog', 'pg_toast') AND pg_catalog.pg_table_is_visible(c.oid); \o \i /tmp/grant_privileges
-- 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 ======================================== Do you want to know God? http://www.lfix.co.uk/knowing_god.html