| From: | HexaCluster via PostgreSQL Announce <announce-noreply(at)postgresql(dot)org> |
|---|---|
| To: | PostgreSQL Announce <pgsql-announce(at)lists(dot)postgresql(dot)org> |
| Subject: | pg_dbms_lock v2.0 has been released |
| Date: | 2026-07-05 16:22:23 |
| Message-ID: | 178326854343.108999.10812347807314085702@wrigleys.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-announce |
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)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | HexaCluster via PostgreSQL Announce | 2026-07-05 16:22:32 | pg_dbms_errlog v2.4 released |
| Previous Message | burnside project via PostgreSQL Announce | 2026-07-05 16:22:12 | pg-cdc Frustratingly simple Postgres change data capture to AWS S3 |