Re: GRANT ALL ON recursive for all tables in my scheme?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "A Lau" <lau(dot)studium(at)gmx(dot)net>
Cc: pgsql-admin(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org
Subject: Re: GRANT ALL ON recursive for all tables in my scheme?
Date: 2008-03-04 23:14:50
Message-ID: 27678.1204672490@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-general

"A Lau" <lau(dot)studium(at)gmx(dot)net> writes:
> I recently searched for a way to grant permissions to a new created user for
> all tables in a scheme or database. I just found ways who uses psql and
> scripts. But I'm astonished that there is no way to do it with the "grant
> all on database [schema]..."-option. Actually i thought that a grant on a
> schema or database would recusivly set the accoding permissions to the
> corresponding objects (eg. tables, views...). Is there a way to do it easily
> in SQL-Syntax without psql and scripting? Why it can't be done with the
> grant-operator?

Because the SQL spec says what GRANT should do, and that's not in it.

If you plan in advance for this sort of thing then it can be quite
painless. The best way is to grant permissions on the individual
objects to roles, and then grant membership in those roles to particular
users. Users can come and go but the role permissions grants stay about
the same.

If you didn't plan in advance then you find yourself wishing for
recursive grants, wildcard grants, future grants, and all sorts of
action-at-a-distance ideas that have been seen before on these lists
:-(. Personally I think that scripts and plpgsql functions are
perfectly fine solutions for such needs, mainly because they're easily
customizable. Anything we were to hard-wire into GRANT would solve only
some cases.

regards, tom lane

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Alan Hodgson 2008-03-05 00:00:39 Re: GRANT ALL ON recursive for all tables in my scheme?
Previous Message Daniel Punton 2008-03-04 23:07:14 Postgres port bindings changed after box restart

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-03-04 23:28:41 Re: Planner: rows=1 after "similar to" where condition.
Previous Message Joris Dobbelsteen 2008-03-04 22:32:46 Re: Planner: rows=1 after "similar to" where condition.