GBase 8c
其他
文章

GBase 8c 咨询锁函数(二)

发表于2023-12-07 14:17:4611次浏览0个评论

l pg_advisory_unlock_shared(key bigint)
 

 

描述:释放会话级别的共享咨询锁。

返回值类型:Boolean

l pg_advisory_unlock_shared(key1 int, key2 int)

描述:释放会话级别的共享咨询锁。

返回值类型:Boolean

备注:pg_advisory_unlock_shared类似于pg_advisory_unlock,不同之处在于该函数释放的是共享咨询锁。

l pg_advisory_unlock_all()

描述:释放当前会话持有的所有咨询锁。

返回值类型:void

备注:pg_advisory_unlock_all将会释放当前会话持有的所有咨询锁,该函数在会话结束的时候被隐含调用,即使客户端异常地断开连接也是一样。

l pg_advisory_xact_lock(key bigint)

描述:获取事务级别的排它咨询锁。

返回值类型:void

l pg_advisory_xact_lock(key1 int, key2 int)

描述:获取事务级别的排它咨询锁。

返回值类型:void

备注:pg_advisory_xact_lock类似于pg_advisory_lock,不同之处在于锁是自动在当前事务结束时释放,而且不能被显式的释放。只允许sysadmin对键值对(65535, 65535)加事务级别的排它咨询锁,普通用户无权限。

l pg_advisory_xact_lock_shared(key bigint)

描述:获取事务级别的共享咨询锁。

返回值类型:void

l pg_advisory_xact_lock_shared(key1 int, key2 int)

描述:获取事务级别的共享咨询锁。

返回值类型:void

备注:pg_advisory_xact_lock_shared类似于pg_advisory_lock_shared,不同之处在于锁是在当前事务结束时自动释放,而且不能被显式的释放。

l pg_try_advisory_lock(key bigint)

描述:尝试获取会话级排它咨询锁。

返回值类型:Boolean

备注:pg_try_advisory_lock类似于pg_advisory_lock,不同之处在于该函数不会阻塞以等待资源的释放。它要么立即获得锁并返回true,要么返回false表示目前不能锁定。

评论

登录后才可以发表评论