Re: Why do we have checkPointCopy in ControlFileData? - Mailing list pgsql-novice

From Tom Lane
Subject Re: Why do we have checkPointCopy in ControlFileData?
Date
Msg-id 1047047.1593806129@sss.pgh.pa.us
Whole thread Raw
In response to Why do we have checkPointCopy in ControlFileData?  (Jialun Zhang <reatank@gmail.com>)
List pgsql-novice
Jialun Zhang <reatank@gmail.com> writes:
> I am reading the code about checkpoint, I think ControlFileData::checkPoint
> in pg_control.h is the last checkpoint, so why is there also a checkPointCopy?
> What is its role?

IIRC, checkPointCopy is the info about the preceding checkpoint.

I think the reason for it being there is an idea that if the latest
checkpoint record is corrupt, we could go back to the prior one and
replay forward from there.  I don't believe any such recovery method was
ever implemented (and it's fair to wonder if you'd have a consistent
database afterwards, anyway) but no one has bothered to remove the
field.

            regards, tom lane



pgsql-novice by date:

Previous
From: Jialun Zhang
Date:
Subject: Why do we have checkPointCopy in ControlFileData?
Next
From: Jialun Zhang
Date:
Subject: What's the best practice to compare the transaction with the checkpoint?