Thread: REVOKE from all tables ...
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 ...
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
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
* 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
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.
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
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.