pg_try_advisory_lock()

一个用于尝试获取独占会话级别建议锁的函数

pg_try_advisory_lock() 是一个系统函数,用于尝试获取独占会话级别的 建议锁。如果无法获取锁,它会立即返回。

pg_try_advisory_lock() 函数在 PostgreSQL 8.2 中被添加。

用法

pg_try_advisory_lock ( key bigint ) → boolean
pg_try_advisory_lock ( key1 integer, key2 integer ) → boolean

如果成功获取锁,则返回 true,否则返回 false

pg_advisory_lock() 不同,pg_try_advisory_lock() 会立即返回,而不会等待锁变得可用。

变更历史

示例

pg_try_advisory_lock() 的基本用法示例

postgres=# SELECT pg_try_advisory_lock(123);
 pg_try_advisory_lock
----------------------
 t
(1 row)

当另一个会话持有期望的锁时执行 pg_try_advisory_lock()

postgres=# SELECT pg_try_advisory_lock(123);
 pg_try_advisory_lock 
----------------------
 f
(1 row)

分类

锁定, 系统函数

另请参阅

pg_advisory_lock(), pg_advisory_unlock(), pg_advisory_unlock_all(), 建议锁

反馈

在此 提交关于“pg_try_advisory_lock()”的任何评论、建议或更正