Skip site navigation (1) Skip section navigation (2)

Re: wal_buffers = -1 and SIGHUP

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Bernd Helmle <mailings(at)oopsware(dot)de>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: wal_buffers = -1 and SIGHUP
Date: 2011-04-02 22:50:17
Message-ID: 2003.1301784617@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackers
Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Thu, Mar 31, 2011 at 8:38 AM, Bernd Helmle <mailings(at)oopsware(dot)de> wrote:
>> This might be nitpicking (or i'm currently missing something), but i
>> recognized that setting wal_buffers = -1 always triggers the following on
>> reload, even if nothing to wal_buffers had changed:
>> 
>> $ pg_ctl reload
>> LOG: received SIGHUP, reloading configuration files
>> LOG: parameter "wal_buffers" cannot be changed without restarting the
>> server
>> 
>> This only happens when you have wal_buffers set to -1.

> This is a bug.  The root cause is that, on startup, we do this:

>         if (xbuffers != XLOGbuffers)
>         {
>                 snprintf(buf, sizeof(buf), "%d", xbuffers);
>                 SetConfigOption("wal_buffers", buf, PGC_POSTMASTER,
> PGC_S_OVERRIDE);
>         }

> I had intended to commit Greg's patch with a show hook and an assign
> hook and the calculated value stored separately from the GUC variable,
> which I believe would avoid this is a problem, but Tom thought this
> way was better.  Unfortunately, my knowledge of the GUC machinery is
> insufficient to think of a way to avoid it, other than the one Tom
> already rejected.

Mph ... I think this shows the error of my thinking :-(.  We at least
need an assign hook here.  Will fix, since it was my oversight to begin
with.

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: Tom LaneDate: 2011-04-03 00:37:57
Subject: Re: Process local hint bit cache
Previous:From: Tom LaneDate: 2011-04-02 22:10:58
Subject: Re: psql 9.1 alpha5: connection pointer is NULL

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group