postgresql – 在postgres中获取咨询锁

前端之家收集整理的这篇文章主要介绍了postgresql – 在postgres中获取咨询锁前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我认为必须有一些基本的东西,我不了解postgres中的咨询锁定.如果我在psql命令行客户端上输入以下命令,则该函数两次都返回true:
SELECT pg_try_advisory_lock(20); --> true
SELECT pg_try_advisory_lock(20); --> true

我原以为第二个命令应该返回false,因为应该已经获取了锁.奇怪的是,我确实得到了以下内容,表明已经获得了两次锁:

SELECT pg_advisory_unlock(20); --> true
SELECT pg_advisory_unlock(20); --> true
SELECT pg_advisory_unlock(20); --> false

所以我想我的问题是,如何以一种阻止它再次获得的方式获得咨询锁?

如果您将尝试从2个不同的Postgresql会话中执行此操作,该怎么办?

查看更多in the docs.

猜你在找的Postgre SQL相关文章