Re: REVOKE from all tables ...

From: ljb <ljb220(at)mindspring(dot)com>
To: pgsql-admin(at)postgresql(dot)org
Subject: Re: REVOKE from all tables ...
Date: 2005-08-11 01:36:23
Message-ID: ddea2m$1jhv$1@news.hub.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

scrappy(at)postgresql(dot)org wrote:
> On Mon, 8 Aug 2005, Joshua D. Drake wrote:
>
>> Marc G. Fournier wrote:
>>
>>>
>>> Is there a way of REVOKEing privileges on all tables in a database? I've
>>> checked the REVOKE man page, and there doesn't appear to be, but I figured
>>> I'd double check to make sure ...
>>
>> No. This has actually been a requested feature on the grant side as well...
>> Nothing a simple for loop can't do with perl though.
>
> Ya, that is what I did, it just seemed that there should be a much
> simplier way of doing it :( Ah well, at least I wasn't re-creating the
> wheel on this one :)

I like doing things like with just psql as shown below. And, I get to
look at the commands before running them. For example: something
like this to revoke all for all tables in the public schema:

-- Turn off headers:
\t
-- Use SQL to build SQL:
SELECT 'REVOKE ALL ON public.' || table_name || ' FROM PUBLIC;'
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_schema='public';
-- If the output looks good, write it to a file and run it:
\g out.tmp
\i out.tmp

It works pretty well on similar tasks, at least until you run into string
quote/escape problems.

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Ramesh Patel 2005-08-11 07:33:24 Problem in restore data
Previous Message Magnus Hagander 2005-08-10 19:23:31 Re: Trouble Getting Database Server Started