Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wgPhM-006Akn-01 for pgsql-announce@arkaria.postgresql.org; Sun, 05 Jul 2026 16:28:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wgPhK-00CpGb-2S for pgsql-announce@arkaria.postgresql.org; Sun, 05 Jul 2026 16:28:02 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wgPcc-00CTuW-2l for pgsql-announce@lists.postgresql.org; Sun, 05 Jul 2026 16:23:10 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wgPcZ-00000001tQz-1xvr for pgsql-announce@lists.postgresql.org; Sun, 05 Jul 2026 16:23:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Message-ID:Date:Reply-To:From:To:Subject: MIME-Version:Content-Type:Sender:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=vhg5cFJgyHtFHestE61dwYjdGbSweyQKoh+oVRyALaw=; b=sNp0+lxYZtPjy06vt8jOtotok5 UkNYd9ojwwjuZdjiiGoLojvYP0ENEey7HVavx0BwnRxJaX6gQdRt5T9Din3nMuN+kqygioZI/GKmx z+hZETwjsTq/dl5rAmAfqIqbziAa7pm7FK/DORB5lfr2H7N/ts8vDb0nHIYhLtfRJnc8LcV7E62Ba G/67asszulqKdnO8ZOimg284MmGnuKwt15XNm0rAkUFlOm1QX1+wpTC9FrBmMiwoPLHwCJSn+bCFx ocBReG48egzV5LO5QOnSu9riNVK3VL5mwB0hnx7R28MDehfZvdVM6FK8zy7pmqBsG6epsEclL+1HW Tu9aXJ6w==; Received: from wrigleys.postgresql.org ([217.196.149.60]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wgPcX-00B91K-2S for pgsql-announce@lists.postgresql.org; Sun, 05 Jul 2026 16:23:06 +0000 Received: from localhost ([127.0.0.1] helo=wrigleys.postgresql.org) by wrigleys.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wgPcV-00DK4a-2N for pgsql-announce@lists.postgresql.org; Sun, 05 Jul 2026 16:23:03 +0000 Content-Type: multipart/alternative; boundary="===============7342877419967761159==" MIME-Version: 1.0 Subject: pg_dbms_lock v2.0 has been released To: PostgreSQL Announce From: HexaCluster via PostgreSQL Announce Reply-To: gilles@hexacluster.ai Date: Sun, 05 Jul 2026 16:22:23 +0000 Message-ID: <178326854343.108999.10812347807314085702@wrigleys.postgresql.org> X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-pglister-tags: related X-pglister-tagsig: 3a7bae75aa006497674a262f8b7057c18e76d52c7a67a8be5bc3a0c64147729e List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============7342877419967761159== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Bangkok, Thailand - June 17, 2026 ## PostgreSQL DBMS_LOCK compatibility extension PostgreSQL extension to manages advisory locks in a way compatible to Oracl= e 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 commi= t release settings. pg_dbms_lock v2.0 has been released, this is a maintenance release to add c= ompatibility 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 t= he 2.0 version. Complete list of changes and acknolegments are available [here](https://git= hub.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 print= er). - 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 ROLLBA= CK. ## Links & Credits pg_dbms_lock is an open project under the PostgreSQL license maintained by = [HexaCluster](https://github.com/HexaCluster/credcheck/) and created by Gil= les 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 pat= ches 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_dbm= s_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) --===============7342877419967761159== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable pg_dbms_lock v2.0 has been released
 

pg_dbms_lock v2.0 has been released

Bangkok, Thailand - June 17, 2026

PostgreSQL DBMS_LOCK compatibil= ity extension

PostgreSQL extension to manages advisory lo= cks in a way compatible to Oracle DBMS_LOCK package.

This extension uses PostgreSQL advisory loc= ks to emulate the same behavior following the lock mode (exclusive or share= d), the timeout and the on commit release settings.

pg_dbms_lock v2.0 has been released, this i= s 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 compatib= le with pg_background prior to the 2.0 version.

Complete list of changes and acknolegments = are available here<= /p>

This PostgreSQL extension provided compatib= ility with the DBMS_LOCK Oracle package except the DBMS_LOCK.CONVERT(= ) function and some unsupported lock modes. The following stored pro= cedures 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 exclusi= ve access to an external device or service (like a printer).
  • Coordinate or s= ynchronize parallelized applications.
  • Disable or enab= le 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 P= ostgreSQL license maintained by HexaCluster= 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, f= eatures requests or patches using the GitHub tools.

Links :

About pg_dbms_lock

Documentation at https://github.com/HexaCluster/pg_dbms_lock#readme

This email was sent to you from HexaCluster. It was delivered on their beha= lf by the PostgreSQL project. Any questions about the content of the message shou= ld be sent to HexaCluster.

You were sent this email as a subscriber of the pgsql-announce mai= linglist, for the content tag Related Open Source. To unsubscribe from further emails, or change which emails you want to receive, please click th= e personal unsubscribe link that you can find in the headers of this email, or visit https://lists.postgresql.org/unsubscribe/.
 
--===============7342877419967761159==--