Re: Logical insert/update/delete WAL records for custom table AMs - Mailing list pgsql-hackers

From Simon Riggs
Subject Re: Logical insert/update/delete WAL records for custom table AMs
Date
Msg-id CANbhV-G4dg4EX19eLGjhpjiemQE6hmSQRMsa2hAQ1CmvxVnOwg@mail.gmail.com
Whole thread Raw
In response to Re: Logical insert/update/delete WAL records for custom table AMs  (Jeff Davis <pgsql@j-davis.com>)
Responses Re: Logical insert/update/delete WAL records for custom table AMs  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-hackers
On Mon, 17 Jan 2022 at 09:05, Jeff Davis <pgsql@j-davis.com> wrote:
>
> On Wed, 2022-01-05 at 20:19 +0000, Simon Riggs wrote:
> > I spoke with Jeff in detail about this patch in NYC Dec 21, and I now
> > think it is worth pursuing. It seems much more likely that this would
> > be acceptable than fully extensible rmgr.
>
> Thank you. I had some conversations with others who felt this approach
> is wasteful, which it is. But if this patch still has potential, I'm
> happy to pursue it along with the extensible rmgr approach.

It's self-contained and generally useful for a range of applications,
so the code would be long-lived.

Calling it wasteful presumes the way you'd use it. If you make logical
log entries you don't need to make physical ones, so its actually the
physical log entries that would be wasteful.

Logical log entries don't need to be decoded, so it's actually more
efficient, plus we could skip index entries altogether.

I would argue that this is the way we should be doing WAL, with
occasional divergence to physical records for performance, rather than
the other way around.

> > So I'm signing up as a reviewer and we'll see if this is good to go.
>
> Great, I attached a rebased version.

The approach is perfectly fine, it just needs to be finished and rebased.

-- 
Simon Riggs                http://www.EnterpriseDB.com/



pgsql-hackers by date:

Previous
From: Daniel Gustafsson
Date:
Subject: Re: reallocing without oom check in pg_regress
Next
From: Jacob Champion
Date:
Subject: Re: [PATCH] Expose port->authn_id to extensions and triggers