0001 looks OK to push, and since it stands on its own I would get it out of the way soon rather than waiting for the rest of the series to be further reviewed.
0002: This moves bin/pg_verifybackup/parse_manifest.c to common/parse_manifest.c, where it's not clear that it's for backup manifests (wasn't a problem in the previous location). I wonder if we're going to have anything else called "manifest", in which case I propose to rename the file to make it clear that this is about backup manifests -- maybe parse_bkp_manifest.c. This patch looks pretty uncontroversial, but there's no point in going further with this one until followup patches are closer to commit. 0003: AmWalSummarizerProcess() is unused. Remove? MaybeWalSummarizer() is called on each ServerLoop() in postmaster.c? This causes a function call to be emitted every time through. That looks odd. All other process starts have some triggering condition. GetOldestUnsummarizedLSN uses while(true), but WaitForWalSummarization and SummarizeWAL use while(1). Maybe settle on one style? Still reading this one. 0004: in PrepareForIncrementalBackup(), the logic that determines earliest_wal_range_tli and latest_wal_range_tli looks pretty weird. I think it works fine if there's a single timeline, but not otherwise. Or maybe the trick is that it relies on timelines returned by readTimeLineHistory being sorted backwards? If so, maybe add a comment about that somewhere; I don't think other callers of readTimeLineHistory make that assumption. -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/ "Postgres is bloatware by design: it was built to house PhD theses." (Joey Hellerstein, SIGMOD annual conference 2002)