Re: [Patch]The Case For WAL-Logging pg_upgrade

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: John Naylor <johncnaylorls(at)gmail(dot)com>, Bohyun Lee <bohyun(dot)lee(at)databricks(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: [Patch]The Case For WAL-Logging pg_upgrade
Date: 2026-08-06 07:39:41
Message-ID: a9b5c9c8-a918-4b5e-a1b2-4d3b865a2006@iki.fi
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 05/08/2026 08:15, John Naylor wrote:
> I think my phrasing was ambiguous: When I said "the system must know
> what file paths to stick into the WAL stream", I didn't mean creating
> path strings, I meant the enumeration done by capture_all_relfiles()
> etc. Normally, a WAL record enters the stream because a logged write
> happens. In the patch, the input to WAL comes from a directory walk of
> already-written files. If this walk misses anything, then the standby
> diverges from the primary.

It'd be pretty hard to screw up walking all files in a directory ;-). I
don't think missing some files is a serious concern.

For comparison, the GIN and GiST index build also work by first building
the whole index, and then WAL-logging the result as a separate step.
There's precedent in pg_rewing too, which also walks the data directory,
copies all files it doesn't recognize as is, and has special handling
for relation files.

- Heikki

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2026-08-06 07:43:47 Re: [Patch]The Case For WAL-Logging pg_upgrade
Previous Message solai v 2026-08-06 07:34:38 Re: explain plans for foreign servers