Thread: REVOKE from all tables ...

REVOKE from all tables ...

From
"Marc G. Fournier"
Date:
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 ...

Re: REVOKE from all tables ...

From
"Joshua D. Drake"
Date:
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.

>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
>       choose an index scan if your joining column's datatypes do not
>       match



Re: REVOKE from all tables ...

From
"Marc G. Fournier"
Date:
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 :)

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664

Re: REVOKE from all tables ...

From
Stephen Frost
Date:
* Marc G. Fournier (scrappy@postgresql.org) 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 ...

I actually wrote a little perl script which allows you to pass in a
regexp to match names against, allows for limitation to a specific
schema, and handles tables, views, sequences and functions.  I'll see
about making it available (it's not very big).  Of course, I think it'd
be nice to have some functions in core that did the same thing; or maybe
some ability in psql to do it.

    Stephen

Attachment

Re: REVOKE from all tables ...

From
Guido Barosio
Date:
It would be great to look at that :)
 
 
g

 
On 8/9/05, Stephen Frost <sfrost@snowman.net> wrote:
* Marc G. Fournier (scrappy@postgresql.org) 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 ...

I actually wrote a little perl script which allows you to pass in a
regexp to match names against, allows for limitation to a specific
schema, and handles tables, views, sequences and functions.  I'll see
about making it available (it's not very big).  Of course, I think it'd
be nice to have some functions in core that did the same thing; or maybe
some ability in psql to do it.

       Stephen


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFC+K2OrzgMPqB3kigRAqayAJ9o/fSLEbDWTPD7LXaAkuhkUpaF1ACeKIAf
jLhZ8F+CScCkRQtBDg3mucc=
=WoOm
-----END PGP SIGNATURE-----





--
"Adopting the position that you are smarter than an automatic
optimization algorithm is generally a good way to achieve less
performance, not more" - Tom Lane.

Re: REVOKE from all tables ...

From
John DeSoi
Date:
On Aug 9, 2005, at 9:20 AM, Stephen Frost wrote:

> * Marc G. Fournier (scrappy@postgresql.org) 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 ...
>>
>
> I actually wrote a little perl script which allows you to pass in a
> regexp to match names against, allows for limitation to a specific
> schema, and handles tables, views, sequences and functions.  I'll see
> about making it available (it's not very big).  Of course, I think
> it'd
> be nice to have some functions in core that did the same thing; or
> maybe
> some ability in psql to do it.

Also, there are some pl/pgsql functions available from here which
will GRANT/REVOKE on all tables:

http://pgedit.com/node/20


John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL


Re: REVOKE from all tables ...

From
ljb
Date:
scrappy@postgresql.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.