Subject: Re: How to generate a WAL record spanning multiple WAL files?

From: Matthias van de Meent <[email-masked]>
Date: Tue, 5 Apr 2022 15:39:04 +0200

On Tue, 5 Apr 2022 at 15:13, Bharath Rupireddy
<[email-masked]> wrote:
>
> Hi,
>
> I wanted to have a WAL record spanning multiple WAL files of size, say
> 16MB. I'm wondering if the Full Page Images (FPIs) of a TOAST table
> would help here. Please let me know if there's any way to generate
> such large WAL records.

The function pg_logical_emit_message (callable with REPLICATION
permissions from SQL) allows you to emit records of arbitrary length <
2GB - 2B (for now), which should be enough.

Other than that, you could try to generate 16MB of subtransaction IDs;
the commit record would contain all subxids and thus be at least 16MB
in size.

-Matthias