On Mon, Mar 6, 2023 at 1:26 PM Michael Paquier <michael@paquier.xyz> wrote:
>
> On Sat, Mar 04, 2023 at 09:47:05AM +0530, Bharath Rupireddy wrote:
> > Okay, here's a patch attached.
>
> Thanks.
>
> + * When source == XLOG_FROM_ANY, this function first searches for the segment
> + * with a TLI in archive first, if not found, it searches in pg_wal. This way,
> + * if there is a WAL segment with same passed-in segno but different TLI
> + * present in both the archive and pg_wal, it prefers the one with higher TLI.
> + * The reason for this is that if for example we try to do archive recovery to
> + * timeline 2, which branched off timeline 1, but the WAL for timeline 2 is not
> + * archived yet, we would replay past the timeline switch point on timeline 1
> + * using the archived WAL segment, before even looking timeline 2's WAL
> + * segments in pg_wal.
>
> This is pretty much what the commit has mentioned. The first half
> provides enough details, IMO.
IMO, mentioning the example from the commit message in the function
comment makes things more clear - one doesn't have to go look for the
commit message for that.
--
Bharath Rupireddy
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com