Re: Grant SELECT on all tables of a database

From: Oliver Elphick <olly(at)lfix(dot)co(dot)uk>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: Grant SELECT on all tables of a database
Date: 2007-05-29 19:51:42
Message-ID: 1180468302.15764.31.camel@linda.lfix.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Tue, 2007-05-29 at 10:21 -0700, Marsha Ramsey wrote:
> Hello all,
>
> How do I GRANT SELECT to all my tables at once? I have over 1026
> tables in this database...

I don't think there is any direct SQL command to do it. But try this:

psql -d your_database
\t
\a
\o /tmp/sqlscript
SELECT 'GRANT SELECT ON ' || schemaname || '.' || tablename ||
' TO PUBLIC ;'
FROM pg_tables
WHERE tableowner = CURRENT_USER;
\o
\i /tmp/sqlscript

--
Oliver Elphick olly(at)lfix(dot)co(dot)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

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Marsha Ramsey 2007-05-29 20:03:44 Re: Grant SELECT on all tables of a database
Previous Message Marsha Ramsey 2007-05-29 17:21:02 Grant SELECT on all tables of a database