On 12 Feb 2026, at 09:56, Andrey Borodin <x4mmm@yandex-team.ru> 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.