Re: [HACKERS] Re: pgsql: Make CheckRequiredParameterValues() depend upon correct - Mailing list pgsql-committers

From Tom Lane
Subject Re: [HACKERS] Re: pgsql: Make CheckRequiredParameterValues() depend upon correct
Date
Msg-id 16333.1272055481@sss.pgh.pa.us
Whole thread Raw
In response to Re: pgsql: Make CheckRequiredParameterValues() depend upon correct  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: [HACKERS] Re: pgsql: Make CheckRequiredParameterValues() depend upon correct  (Robert Haas <robertmhaas@gmail.com>)
Re: [HACKERS] Re: pgsql: Make CheckRequiredParameterValues() depend upon correct  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-committers
Simon Riggs <simon@2ndQuadrant.com> writes:
> No intention of doing that. This change allows people to see what the
> dependency actually is once the bug has been fixed. Change needs to
> start from here, not from where we were before.

Well, actually, now that I've looked at the patch I think it's starting
from a fundamentally wrong position anyway.  Checkpoint records are a
completely wrong mechanism for transmitting this data to slaves, because
a checkpoint is emitted *after* we do something, not *before* we do it.
In particular it's ludicrous to be looking at shutdown checkpoints to
try to determine whether the subsequent WAL will meet the slave's
requirements.  There's no connection at all between what the GUC state
was at shutdown and what it might be after starting again.

A design that might work is
(1) store the active value of wal_mode in pg_control (but NOT as part of
the last-checkpoint-record image).
(2) invent a new WAL record type that is transmitted when we change
wal_mode.

Then, slaves could check whether the master's wal_mode is high enough
by looking at pg_control when they start plus any wal_mode_change
records they come across.

If we did this then we could get rid of those WAL record types that were
added to signify that information had been omitted from WAL at specific
times.

            regards, tom lane

pgsql-committers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: pgsql: Make CheckRequiredParameterValues() depend upon correct
Next
From: Robert Haas
Date:
Subject: Re: [HACKERS] Re: pgsql: Make CheckRequiredParameterValues() depend upon correct