Re: ALTER SYSTEM SET command to change postgresql.conf parameters (RE: Proposal for Allow postgresql.conf values to be changed via SQL [review])

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Dimitri Fontaine <dimitri(at)2ndquadrant(dot)fr>, Andres Freund <andres(at)2ndquadrant(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: ALTER SYSTEM SET command to change postgresql.conf parameters (RE: Proposal for Allow postgresql.conf values to be changed via SQL [review])
Date: 2013-08-20 03:51:26
Message-ID: CAA4eK1JymAA=g5RrsBmOC8mgrK=LJJaALa=JwV6QU4hZVTOk9Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Aug 20, 2013 at 8:43 AM, Stephen Frost <sfrost(at)snowman(dot)net> wrote:
> * Amit Kapila (amit(dot)kapila16(at)gmail(dot)com) wrote:
>> initdb will create the empty auto file. If we don't enable by default,
>> then if user uses
>> ALTER SYSTEM and do sighup/restart, changed config parameter values
>> will not come into affect
>> until he manually enables it by removing '#' from '#include'.
>
> That's a pretty simple thing to detect and return an ERROR case on
> though.

Do you mean to say, that when user uses ALTER SYSTEM and include is
disabled, then we can give ERROR in
ALTER SYSTEM, that to reflect the values, he need to enable it?
Actually in previous version of patch, there was WARNING on such a condition.
I agree that it can be detected and we issue Warning or Error, but
I think it will be an un-necessary inconvenience
for user. However if you still vote for disable by default, I will
modify the patch that way only.

The other part which needs suggestions is about un-safe parameters:
I think for first version of feature, we can decide on some minimum
list of parameters that will be considere un-safe and user will not be
allowed to modify them with ALTER SYSTEM.
To start with we can consider below 4 parameters in that category and
later on keep adding more parameters:
data_directory, listen_addresses, port, shared_buffers.
These are from the list you provided at link:
http://www.postgresql.org/message-id/20130802145442.GB2706@tamriel.snowman.net

I have no strong reason why only these 4 parameters, we can choose
other parameters as well. The only thing is I want to make a base for
this feature and then later we can enhance it as per below points:
a. add more parameters to un-safe category
b. user can view non-modifiable parameters (may be in pg_settings)
c. some way such that if user wants to take risk of server not getting
started, he should allow to modify such parameters (may be with
additional syntax in ALTER SYSTEM .. FORCE as suggested by Greg
Smith).

With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephen Frost 2013-08-20 04:03:50 Re: ALTER SYSTEM SET command to change postgresql.conf parameters (RE: Proposal for Allow postgresql.conf values to be changed via SQL [review])
Previous Message Michael Paquier 2013-08-20 03:45:25 Re: Personal note: taking some vacation time in Sep/Oct