Re: How to generate a WAL record spanning multiple WAL files? - Mailing list pgsql-hackers

From Robert Haas
Subject Re: How to generate a WAL record spanning multiple WAL files?
Date
Msg-id CA+TgmoY0PMy-h4SSr3LU=YhbeD05VY+x=f=KeQtt-Sa0A5ZATA@mail.gmail.com
Whole thread Raw
In response to Re: How to generate a WAL record spanning multiple WAL files?  (Andy Fan <zhihui.fan1213@gmail.com>)
Responses Re: How to generate a WAL record spanning multiple WAL files?  (Andy Fan <zhihui.fan1213@gmail.com>)
List pgsql-hackers
On Tue, Apr 5, 2022 at 10:10 AM Andy Fan <zhihui.fan1213@gmail.com> wrote:
>> > 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.
>>
>> It's easier to use pg_logical_emit_message().
>
> Not sure I understand the question correctly here.  What if I use the below code
> where the len might be very large?  like 64MB.
>
>  XLogBeginInsert();
> XLogRegisterData((char *)&xl_append, sizeof(xl_cstore_append));
> XLogRegisterData((char *)data, len);
>
> XLogInsert(..);

Well, that's how to do it from C. And pg_logical_emit_message() is how
to do it from SQL.

-- 
Robert Haas
EDB: http://www.enterprisedb.com



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [PATCH] pg_stat_toast v10
Next
From: "Imseih (AWS), Sami"
Date:
Subject: Re: Add index scan progress to pg_stat_progress_vacuum