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
