public inbox for [email protected]  
help / color / mirror / Atom feed
From: Merlin Moncure <[email protected]>
To: Ellen Allhatatlan <[email protected]>
Cc: pgsql-general <[email protected]>
Subject: Re: MVCC and all that...
Date: Tue, 9 Sep 2025 11:10:49 -0600
Message-ID: <CAHyXU0yrwoEYia0mZhpjQLMdd-WXpWFM+Au1jXQpk3MtBvdogw@mail.gmail.com> (raw)
In-Reply-To: <CAMLfE0MAVH5YORs0OKmD=fFWH9EtuNsnhViti=+hkp3Kbz-Gfw@mail.gmail.com>
References: <CAMLfE0MAVH5YORs0OKmD=fFWH9EtuNsnhViti=+hkp3Kbz-Gfw@mail.gmail.com>

On Tue, Sep 9, 2025 at 10:27 AM Ellen Allhatatlan <
[email protected]> wrote:

> Reading this article
>
> https://firebirdsql.org/migrating-from-firebird-to-postgresql-what-can-go-wrong-
> I'm a bit confused (not the first time...)
>
> In part 1. Differences in MVCC implementation - he's saying that "It’s
> not that the PostgreSQL implementation of MVCC is bad — it’s just
> fundamentally different"
>
> But, I thought Firebird had SWEEP instead of VACUUM (how much closer
> can the words be?) and that FB's implementation of MVCC was
> essentially similar.
> Is this correct? Then why is he pointing out the performance diffs
> because of MVCC? I'm puzzled!


Note: your link is wrong, corrected here:

https://firebirdsql.org/migrating-from-firebird-to-postgresql-what-can-go-wrong
<https://firebirdsql.org/migrating-from-firebird-to-postgresql-what-can-go-wrong-;

What the article is driving at is that postgres does not use rollback logs
to handle updated records in the MVCC implementation.  There are absolutely
performance tradeoffs in that decision and, if you do a lot of development
against postgresql, those tradeoffs should influence how you design
databases.  The author then cherry picked the 'worst case' case, large
unconstrained updates.

The article is a bit of a cheezy dig on postgres.  Another example is the
complaint about autonomous transactions with another cherry picked example
to make postgres look back. In the real world, these would not matter much,
and can be worked around (if you want to see my take on how to deal with
it, see here: https://github.com/leaselock/pgasync).

merlin


reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: MVCC and all that...
  In-Reply-To: <CAHyXU0yrwoEYia0mZhpjQLMdd-WXpWFM+Au1jXQpk3MtBvdogw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox