> On 12 Feb 2026, at 09:56, Andrey Borodin <[email protected]> wrote:
>
> Hi Heikki,
>
> There’s a nearby thread [0] (about 10 years later) where I’m working on a
> problem your patch from this thread helps solve.
>
> In datacenter large outages, 1–2% of clusters end up with gaps in their PITR
> timeline.
> In HA setups, when the primary is lost, some WAL can be missing from the
> archive even though it was streamed to the standby. Many HA tools (PGConsul,
> Patroni, etc.) try to re-archive from the standby, but those WAL files may
> already have been removed.
>
> Your “shared” archive mode addresses this: the standby keeps WAL until it’s
> archived. archive_mode=always plus an archive tool can work, but it’s
> expensive. In WAL-G, for example, the archive command does a GET on the
> standby’s WAL, then decrypts and compares. Switching to HEAD would reduce
> cost in some clouds but still adds cost.
>
> Another option is coordinating archiving outside Postgres, but that would
> mean building distributed coordination into the archive tool.
>
> Shared archive mode tackles this in Postgres itself.
>
> I’ve retrofitted your patch, incorporated ideas from the Greenplum work [1],
> and made some improvements.
>
> The patchset has three parts:
> * Rebase + tests – Your original patch, rebased, with tests added.
> * Timeline switching – Correct handling of timeline switches in archive
> status updates.
> * Avoid directory scans – Skip scanning archive_status when possible, which
> was costly in WAL-G setups.
>
> What do you think?
>
> Best regards, Andrey Borodin.
>
> <v4-0001-Add-archive_mode-shared-for-coordinated-WAL-archi.patch><v4-0003-Optimize-ProcessArchivalReport-to-avoid-directory.patch><v4-0002-Mark-ancestor-timeline-WAL-segments-as-archived.patch>
Hi Andrey,
Adding the missing references [0] and [1].
[0] https://www.postgresql.org/message-id/5550D20D.6090703%40iki.fi
[1]
https://github.com/open-gpdb/gpdb/commit/4f2db1929df1b5eed28f33505955636096bb4e8b
Best, Jaroslav Novikov.