Simon Riggs <si...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers