On Mon, Feb 24, 2025 at 3:36 PM Andres Freund <andres@anarazel.de> wrote:
> I suspect that this is a *really* bad idea. It's very very hard to get inplace
> updates right. We have several unfixed correctness bugs that are related to
> the use of inplace updates. I really don't think it's wise to add additional
> interfaces that can reach inplace updates unless there's really no other
> alternative (like not being able to assign an xid in VACUUM to be able to deal
> with anti-xid-wraparound-shutdown systems).
I strongly agree. I think shipping this feature in any form that uses
in-place updates is a bad idea. I believe that the chances that we
will regret that decision are high. I take Corey's point that bloating
pg_class isn't great either ... but if that's a big problem, I believe
the solution is to find a way to get the right values into those rows
when they are first created, not to use in-place updates after the
fact.
Honestly, I'd go further than Andres did: even when there's really no
alternative, that doesn't mean in-place updates are a good idea. It
just means they're the best thing we've been able to come up with so
far. I think we're going to keep finding bugs until we remove every
last in-place update in the system.
--
Robert Haas
EDB: http://www.enterprisedb.com