gpt4 book ai didi

database - 插入导致独占锁的内部事务

转载 作者:搜寻专家 更新时间:2023-10-30 23:00:38 24 4
gpt4 key购买 nike

我在事务中做一个简单的插入行,这是我遵循的步骤

  • 开始;
  • 插入数据
  • 查询pg_locks

pg_locks 现在说有一个排他锁,如下图所示。

根据文档,排他锁只能通过同时刷新实体化 View 来获取。

我在这里做错了什么?

使用 pgsql - 9.4

插入前的 Pg Locks 表有四行,这是因为在两个单独的 session 中查询 pg_locks 表本身。

插入后它有两个额外的行,一个是实际的事务 id 本身,它是一个独占锁,另一个是关系 RowExclusiveLock

最佳答案

那些是交易 ID 上的锁。这是完全正常的。

目的是另一个事务可以尝试获取此事务的锁,导致它在继续之前等待直到第一个事务提交或回滚(从而释放其自身的锁)。

您只需要担心关系锁。

关于database - 插入导致独占锁的内部事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33523353/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com