On Wed, Jul 15, 2026 at 11:34 AM Mihir Kandoi <[email protected]> wrote:

> I work on an ERP software called ERPNext
> <https://github.com/frappe/erpnext>. Currently, we use MariaDB with REPEATABLE
> READ . We have been working on adding Postgres support to it but we have
> reached a roadblock.
>
> They instead suggested retrying transactions with jitter but I honestly
> feel READ COMMITTED is actually better suited in general for a highly
> concurrent ERP like ours. Note that we have implemented row locking
> everywhere it was warranted.
>
retrying is generally the preferred approach -- what is your specific
concern?

> I am looking for confirmation of my theory from the community.
>
>    1.
>
>    I found only 2 ERPs using REPEATABLE READ - Microsoft Dynamic 365
>    Business Central and Odoo. Rest are mostly READ COMMITTED only.
>    2.
>
>    I have also implemented Advisory Locks to counter this problem but I
>    don't know how effective that will actually be.
>
> Advisory locks are very strong if you want to do things like lock screens
or data pending user actions as the old school systems used to do with
COBOL locking statements.  What I'm sniffing out here is that you might be
using a poor pattern, specifically, opening a transaction and waiting for
the user to do something.  I do not recommend this, but adv locks are
perfect for this case, and in fact were significantly improved for ERP type
patterns.

merlin

Reply via email to