Re: Permanent settings - Mailing list pgsql-hackers

From Joshua D. Drake
Subject Re: Permanent settings
Date
Msg-id 20080220181427.1914a87e@commandprompt.com
Whole thread Raw
In response to Re: Permanent settings  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: Permanent settings  (Aidan Van Dyk <aidan@highrise.ca>)
Re: Permanent settings  (Magnus Hagander <magnus@hagander.net>)
List pgsql-hackers
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wed, 20 Feb 2008 09:42:02 -0500
Andrew Dunstan <andrew@dunslane.net> wrote:

> All this discussion seems to me to be going off into the clouds,
> where every objection is met with some still more elaborate scheme. I
> think we need to look at simple, incremental, and if possible
> backwards compatible changes.

The simplest solution I can think of is:

Have a table pg_configuration (pg_settings?).

Allow that table to be inserted into but not updated or deleted from.

Provide functions to manipulate the table perhaps:
  select update_settings('shared_memory','64M');

That table is used as the definitive source for "building" the
postgresql.conf. 

The postgresql.conf is pushed to disk each time the system is reloaded
via:
 refresh_settings();

Refresh_settings would be called as an initial startup function as
well. So if you did:
 pg_ctl -D data start

It would actually do:
 pg_ctl -D data start; select update_settings(); pg_ctl -D data
restart;

The reason we only insert is that the function refresh_settings() calls
the max(created) for the setting. That way we can know what previous
settings for the GUC.

Other things could be added such as:
 select update_settings('shared_memory','64M','Used to be 16 but we
got more ram');

The one thing this does is make the postgresql.conf basically a
placeholder. It is not definitive anymore, in the sense that settings
will be overwritten on restart. That really isn't that uncommon anyway
in other applications.

Sincerely,

Joshua D. Drake




- -- 
The PostgreSQL Company since 1997: http://www.commandprompt.com/ 
PostgreSQL Community Conference: http://www.postgresqlconference.org/
Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate
PostgreSQL SPI Liaison | SPI Director |  PostgreSQL political pundit

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

iD8DBQFHvN6FATb/zqfZUUQRAqlKAJ0ZHMGSfOBBUVqFGDtsNAw9b04JUgCgiRa4
T4e2P3+NqtVtiFpwPYArdBA=
=Zto3
-----END PGP SIGNATURE-----

pgsql-hackers by date:

Previous
From: "Greg Sabino Mullane"
Date:
Subject: Re: Including PL/PgSQL by default
Next
From: Andrew Dunstan
Date:
Subject: Re: Permanent settings