Video lädt ...
Database locks in Odoo
Developer Community Talk
Ort: Hall 7.C - 08.11.23, 11:00 - 08.11.23, 11:30 (Europe/Brussels) (30 Minuten)
Database locks in Odoo
Fayolle Alexandre
Odoo Solution Architect bei Camptocamp France SAS
Fayolle Alexandre
Odoo Solution Architect bei Camptocamp France SAS

Alexandre has been working with Odoo at Camptocamp since 2012 and OpenERP 6.1. He is a long time Odoo community contributor, and he is passionate about sharing knowledge.


Odoo is using the Repeatable Read isolation level of PostgreSQL, and this has some implications on how the server behaves and how you should write the code of your custom addons to avoid costly retries or completely blocking interactive usage of the Odoo instance because a of a long running scheduled action.

This talk targets experienced Odoo developers. We will start by explaining the differences between the PostgreSQL transaction isolation level used by Odoo (Repeatable Read) and the default isolation level used by PostgreSQL (Read Committed). We will then see how concurrent access errors are reported and dealt with by Odoo server. Finally we will dig into the topic of correctly locking in custom modules, using both implicit locks and explicit locking, and how to properly wait for a lock to be released or check for the existence of a lock on some rows. We will also see some SQL tricks enabling to skip locked rows in a transaction.