Lanzamiento de pg_dbms_lock 2.0
Bangkok, Tailandia – 17 de junio de 2026
Extensión de compatibilidad DBMS_LOCK para PostgreSQL
Esta extensión para PostgreSQL permite gestionar bloqueos consultivos de manera compatible con el paquete DBMS_LOCK de Oracle.
Para ello, aprovecha los bloqueos consultivos nativos de PostgreSQL y reproduce el mismo comportamiento, teniendo en cuenta el modo de bloqueo (exclusivo o compartido), el tiempo de espera y la opción de liberar el bloqueo al confirmar la transacción.
Ya está disponible pg_dbms_lock v2.0, una versión de mantenimiento que incorpora compatibilidad con PostgreSQL 19 y con la API de pg_background v2 o superior.
Es importante tener en cuenta que esta versión no es compatible con versiones de pg_background anteriores a la 2.0.
La lista completa de cambios y agradecimientos puede consultarse aquí.
Esta extensión de PostgreSQL ofrece compatibilidad con el paquete DBMS_LOCK de Oracle, con la excepción de la función DBMS_LOCK.CONVERT()y de algunos modos de bloqueo que no están soportados. Implementa los siguientes procedimientos almacenados:
- ALLOCATE_UNIQUE(): Asigna un ID de bloqueo único a un bloqueo con nombre.
- REQUEST(): Solicita el bloqueo de un modo específico.
- RELEASE(): Libera un bloqueo.
- SLEEP(): Detiene un procedimiento durante un tiempo determinado.
Por ejemplo, los bloqueos de usuario pueden utilizarse para lo siguiente:
- Proporcionar acceso exclusivo a un dispositivo o servicio externo (como una impresora).
- Coordinar o sincronizar aplicaciones paralelizadas.
- Desactivar o activar la ejecución de programas en determinados momentos.
- Detectar si una sesión ha finalizado una transacción utilizando COMMIT o ROLLBACK.
Enlaces y créditos
pg_dbms_lock es un proyecto de código abierto publicado bajo la licencia de PostgreSQL. Su mantenimiento está a cargo de HexaCluster y fue creado por Gilles Darold en el marco de las iniciativas de mejora del proyecto Ora2Pg. Se agradece cualquier contribución para mejorar la herramienta. Pueden enviar sus ideas, solicitudes de características o parches utilizando las herramientas de GitHub.
Enlaces :
- Descarga: https://github.com/HexaCluster/pg_dbms_lock/releases/
- Soporte: utilicen la herramienta de reportes de GitHub en https://github.com/HexaCluster/pg_dbms_lock/issues
Sobre pg_dbms_lock
Documentación en https://github.com/HexaCluster/pg_dbms_lock#readme

