Re: another idea for changing global configuration settings from SQL
Peter Eisentraut <peter_e@gmx.net>
From: Peter Eisentraut <peter_e@gmx.net>
To: pgsql-hackers@postgresql.org
Date: 2013-01-15T13:53:30Z
Lists: pgsql-hackers
Attachments
- pg-alter-role-all-set.patch (text/plain) patch
On 11/15/12 12:53 PM, Peter Eisentraut wrote: > We already have the ability to store in pg_db_role_setting configuration > settings for > > specific user, specific database > specific user, any database > any user, specific database > > The existing infrastructure would also support > > any user, any database (= all the time) > > All you'd need is to add > > ApplySetting(InvalidOid, InvalidOid, relsetting, PGC_S_$SOMETHING); > > in postinit.c, and have some SQL command to modify this setting. Here is a patch for that. The internals are straightforward. Actually, we might want to refactor this a bit later, unifying the AlterRoleSet and AlterDatabaseSet parse nodes and the functions that do the work, because it's really all the same. The SQL level interface is a bit odd. The existing facilities are ALTER ROLE / SET ALTER DATABASE / SET ALTER ROLE / IN DATABASE / SET Since the original design somehow considered roles to be superior to databases in this regard, I added the global setting as ALTER ROLE ALL SET ..., but that's obviously arbitrary. Most other variants would probably be much more invasive, though.