Preventing changes to default settings of a collective account? - Mailing list pgsql-admin

From Alex Gutman
Subject Preventing changes to default settings of a collective account?
Date
Msg-id 20050224133308.9C99FC248@usenagutmanx2l.lss.emc.com
Whole thread Raw
Responses Re: Preventing changes to default settings of a collective account?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-admin
Greetings,

I've established a read-only collective account (sort of guest) with
no privileges. Nevertheless, the collective user in question can still
issue commands

ALTER USER guest SET parameter TO value

and so change the default setting of any user-alterable run-time
configuration variable.

Naturally, I'd like to prevent it - but there seems to be no privilege
that I could revoke from that collective user in order to disable his
changing default values of run-time configuration variables.
(The NOCREATEUSER option used when creating the collective user does
prevent it from changing its own password via

ALTER USER guest WITH ... PASSWORD ...

- which is good but not enough.)

I've tried to prevent changes to the field pg_shadow.useconfig of the
row pertaining to the collective user through

CREATE OR REPLACE RULE pg_shadow_update_rule AS ON UPDATE TO pg_shadow
  WHERE NEW.usename = 'guest'
  DO INSTEAD NOTHING

This trick didn't work. (I had little hope for its success from the
beginning, as the table pg_shadow doesn't belong to any database, so
I didn't expect the rule mechanism to work for it. I was connected to
database template1 as user postgres when issuing the above CREATE OR
REPLACE RULE command, if it's of any relevance.)

Is there any way I could achieve my goal?

With thanks in advance,
Alex Gutman, grateful PostgreSQL user since 1998

pgsql-admin by date:

Previous
From: Bjoern Metzdorf
Date:
Subject: Re: invalid multibyte character for locale
Next
From: Marcin Giedz
Date:
Subject: Configuration for my server