pg_advisory_unlock_shared()

用于释放已获取的共享建议锁的函数

pg_advisory_unlock_shared() 是一个系统函数,用于释放先前获取的会话级别 建议锁

pg_advisory_unlock_shared()PostgreSQL 8.2 中添加。

用法

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

如果指定的锁被成功释放,则返回 true

如果该锁不被当前会话持有或不存在,则返回 false 并发出 WARNING 警告。

变更历史

示例

pg_advisory_unlock_shared() 的基本用法示例

postgres=# SELECT pg_advisory_lock_shared(123);
 pg_advisory_lock_shared
-------------------------

(1 row)

postgres=# SELECT locktype, database, objid, objsubid, mode, pid, granted, fastpath
             FROM pg_locks
            WHERE locktype = 'advisory';
 locktype | database | objid | objsubid |   mode    |   pid   | granted | fastpath
----------+----------+-------+----------+-----------+---------+---------+----------
 advisory |        5 |   123 |        1 | ShareLock | 3902955 | t       | f
(1 row)

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

尝试释放不存在或不被当前会话持有的锁

postgres=# SELECT pg_advisory_unlock_shared(456);
WARNING:  you don't own a lock of type ShareLock
 pg_advisory_unlock_shared
---------------------------
 f
(1 row)

分类

锁定, 系统函数

另请参阅

pg_advisory_lock_shared(), pg_advisory_unlock_all(), pg_advisory_unlock()

反馈

提交对“pg_advisory_unlock_shared()”的任何评论、建议或更正,请在此处 提交