Re: unite recovery.conf and postgresql.conf - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: unite recovery.conf and postgresql.conf
Date
Msg-id CA+U5nMKR0S+18e8HWAuTtyFWzptkqPOv=5pADRe-RNb9eiTRyg@mail.gmail.com
Whole thread Raw
In response to Re: unite recovery.conf and postgresql.conf  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
On Tue, Nov 1, 2011 at 1:23 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Tue, Nov 1, 2011 at 8:14 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
>> On Tue, Nov 1, 2011 at 12:06 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>>> On Tue, Nov 1, 2011 at 7:46 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
>>>> If you change a parameter that only has effect during recovery then
>>>> must get an error if it is changed during normal running.
>>>
>>> I don't see why.  If you're in normal running and someone changes a
>>> parameter that is irrelevant during normal running, that should be a
>>> no-op, not an error.
>>
>> How will it be made into a no-op, except by having a specific flag to
>> show that it is irrelevant during normal running?
>
> By default, changing a GUC just updates the value of some global
> variable inside every backend.  But unless there's some code that
> makes use of that global variable for some purpose, it doesn't have
> any practical effect.  Apart from whatever complexities may be imposed
> by our choice of implementation, I don't see how this would be any
> different from setting maintenance_work_mem in a particular session
> and then not running any CREATE INDEX or VACUUM commands in that
> session.

Why do we have this log message then, if it is OK to ignore changes
that have no effect?

LOG:  parameter "shared_buffers" cannot be changed without restarting the server

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services


pgsql-hackers by date:

Previous
From: Marti Raudsepp
Date:
Subject: Re: IDLE in transaction introspection
Next
From: Andrew Dunstan
Date:
Subject: Re: IDLE in transaction introspection