我在事务中做了一个简单的插入行,这是我遵循的步骤
pg_locks现在说有一个独占锁,如下图所示。
根据文档,只有刷新物化视图同时获取Exclusive Lock。
我在这里做错了什么?
使用pgsql - 9.4
Pg Locks表在insert之前有四行,这是由于在两个单独的会话中查询pg_locks表本身。
插入后,它有两个额外的行,一个是实际的事务id本身,它是一个独占锁,另一个是关系RowExclusiveLock
答案 0 :(得分:2)
这些是对事务ID的锁定。那是完全正常的。
目的是另一个事务可以尝试获取此事务的锁定,使其等到第一个事务提交或回滚(从而释放其自身的锁定),然后继续。
你只需要担心关系锁。