Re: pg_rewind: warn when checkpoint hasn't happened after promotion

Heikki Linnakangas <hlinnaka@iki.fi>

From: Heikki Linnakangas <hlinnaka@iki.fi>
To: kuroda.keisuke@nttcom.co.jp, Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Cc: jtc331@gmail.com, robertmhaas@gmail.com, pgsql-hackers@postgresql.org
Date: 2023-02-27T07:33:13Z
Lists: pgsql-hackers
On 16/11/2022 07:17, kuroda.keisuke@nttcom.co.jp wrote:
>> The issue here is pg_rewind looks into control file to determine the
>> soruce timeline, because the control file is not updated until the
>> first checkpoint ends after promotion finishes, even though file
>> blocks are already diverged.
>>
>> Even in that case history file for the new timeline is already
>> created, so searching for the latest history file works.
> 
> I think this change is a good one because if I want
> pg_rewind to run automatically after a promotion,
> I don't have to wait for the checkpoint to complete.
> 
> The attached patch is Horiguchi-san's patch with
> additional tests. The tests are based on James's tests,
> "010_no_checkpoint_after_promotion.pl" tests that
> pg_rewind is successfully executed without running
> checkpoint after promote.

I fixed this last week in commit 009eeee746, see thread [1]. I'm sorry I 
didn't notice this thread earlier.

I didn't realize that we had a notice about this in the docs. I'll go 
and remove that. Thanks!

- Heikki




Commits

  1. pg_rewind: Remove notice in docs about running CHECKPOINT after promote.

  2. pg_rewind: Fix determining TLI when server was just promoted.