Thread: Record previous TLI in end-of-recovery record (was Re: [COMMITTERS] pgsql: Fast promote mode skips checkpoint at end of recovery.)
Record previous TLI in end-of-recovery record (was Re: [COMMITTERS] pgsql: Fast promote mode skips checkpoint at end of recovery.)
From
Heikki Linnakangas
Date:
(this is unrelated to the other discussion about this patch) On 29.01.2013 02:07, Simon Riggs wrote: > Fast promote mode skips checkpoint at end of recovery. > pg_ctl promote -m fast will skip the checkpoint at end of recovery so that we > can achieve very fast failover when the apply delay is low. Write new WAL record > XLOG_END_OF_RECOVERY to allow us to switch timeline correctly for downstream log > readers. If we skip synchronous end of recovery checkpoint we request a normal > spread checkpoint so that the window of re-recovery is low. It just occurred to me that it would be really nice if the end-of-recovery record, and the timeline-switching shutdown checkpoint record too for that matter, would include the previous timeline's ID that we forked from, in addition to the new TLI. Although it's not required for anything at the moment, it would be useful debugging information. It would allow reconstructing timeline history files from the WAL; that might come handy. Barring objections, I'll add that. - Heikki
Re: Record previous TLI in end-of-recovery record (was Re: [COMMITTERS] pgsql: Fast promote mode skips checkpoint at end of recovery.)
From
Simon Riggs
Date:
On 7 February 2013 16:07, Heikki Linnakangas <hlinnakangas@vmware.com> wrote: > It just occurred to me that it would be really nice if the end-of-recovery > record, and the timeline-switching shutdown checkpoint record too for that > matter, would include the previous timeline's ID that we forked from, in > addition to the new TLI. Although it's not required for anything at the > moment, it would be useful debugging information. It would allow > reconstructing timeline history files from the WAL; that might come handy. > > Barring objections, I'll add that. Good idea, please do. That means a shutdown checkpoint becomes it's own record type.... but my understanding of our other conversations was that you want to never use shutdown checkpoints for end of recovery ever again, so that seems unnecesary. Sorry to mix things up. -- Simon Riggs http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services