2017-06-27 32 views
0

独家插入我想限制的INSERT取其交易获得锁(与其他人在排队等候,没有失败的),同时允许并发读取,更新和删除(但显然该数据不被插入无论如何,这在PG中是不可能的)。最轻锁定在PostgreSQL中

什么是最轻的锁来实现这一目标?

+0

AFAIK这是不可能的,防止刀片还一个锁阻止更新EN删除。也许如果你解释为什么你需要这个人可以提供一个不同的解决方案。 – Eelke

+0

我想通了。我假设SHARE ROW EXCLUSIVE是我最好的选择? – IamIC

+0

你不需要做任何事情。只需插入你需要的数据 - 任何其他尝试插入相同**主键值的事务都会自动等待。在该表上选择,更新和删除仍然有效。 –

回答

1

是的,如果你想锁定表对所有并发修改,SHARE ROW EXCLUSIVE是最便宜的锁。

你为什么要以这种方式来限制并发我不会问...