PSQL:通过选择FOR UPDATE进行行锁定

时间:2016-07-27 18:26:32

标签: sql multithreading postgresql locking psql

我正在尝试使用SELECT FOR UPDATE psql命令https://www.postgresql.org/docs/9.1/static/explicit-locking.html

通过数据库实现锁定

除了命令允许基于数据库行的锁定

之外,我找不到很多关于这样做的文档

我想知道如果线程1首先执行SELECT FOR UPDATE会发生什么,然后很快就会发生线程2并尝试执行相同的命令。线程2是否被阻塞,直到线程1中的数据库事务提交或回滚?

1 个答案:

答案 0 :(得分:1)

是的,Thread2将一直等到Thread1完成。

您可以使用NOWAITSKIP LOCKS来阻止操作等待(请参阅enter image description here)。