From: | Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: How to generate a WAL record spanning multiple WAL files? |
Date: | 2022-04-06 01:26:06 |
Message-ID: | CAKU4AWpzjmusAnhF3o57__uws00RsvXRFC939Tb8RPMTD9WEBg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Apr 6, 2022 at 12:41 AM Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Tue, Apr 5, 2022 at 10:10 AM Andy Fan <zhihui(dot)fan1213(at)gmail(dot)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.
>
>
OK, Thanks for your confirmation!
--
Best Regards
Andy Fan
From | Date | Subject | |
---|---|---|---|
Next Message | Kyotaro Horiguchi | 2022-04-06 01:36:30 | Re: API stability |
Previous Message | Amit Langote | 2022-04-06 01:18:48 | Re: ExecRTCheckPerms() and many prunable partitions |