Bangkok, Thailand - June 17, 2026 ## PostgreSQL DBMS_LOCK compatibility extension
PostgreSQL extension to manages advisory locks in a way compatible to Oracle DBMS_LOCK package. This extension uses PostgreSQL advisory locks to emulate the same behavior following the lock mode (exclusive or shared), the timeout and the on commit release settings. pg_dbms_lock v2.0 has been released, this is a maintenance release to add compatibility with PostgreSQL 19 and add compatibility with the extension `pg_background` v2+ API. Note that this version will not be compatible with pg_background prior to the 2.0 version. Complete list of changes and acknolegments are available [here](https://github.com/HexaCluster/pg_dbms_lock/releases/tag/v2.3) This PostgreSQL extension provided compatibility with the DBMS_LOCK Oracle package except the `DBMS_LOCK.CONVERT()` function and some unsupported lock modes. The following stored procedures are implemented: - `ALLOCATE_UNIQUE()`: Allocates a unique lock ID to a named lock. - `REQUEST()`: Requests a lock of a specific mode. - `RELEASE()`: Releases a lock. - `SLEEP()`: Puts a procedure to sleep for a specific time. For instance, user locks can be used to do the following: - Provide exclusive access to an external device or service (like a printer). - Coordinate or synchronize parallelized applications. - Disable or enable execution of programs at specific times. - Detect whether a session has ended a transaction using COMMIT or ROLLBACK. ## Links & Credits pg_dbms_lock is an open project under the PostgreSQL license maintained by [HexaCluster](https://github.com/HexaCluster/credcheck/) and created by Gilles Darold as part of the improvement of Ora2Pg. Any contribution to build a better tool is welcome. You can send your ideas, features requests or patches using the GitHub tools. **Links :** * Download: [https://github.com/HexaCluster/pg_dbms_lock/releases/](https://github.com/HexaCluster/pg_dbms_lock/releases/) * Support: use GitHub report tool at [https://github.com/HexaCluster/pg_dbms_lock/issues](https://github.com/HexaCluster/pg_dbms_lock/issues) ## About pg_dbms_lock Documentation at [https://github.com/HexaCluster/pg_dbms_lock#readme](https://github.com/HexaCluster/pg_dbms_lock#readme)
