gpt4 book ai didi

sql - 在事务中空闲并使用 PostgreSQL 锁定

转载 作者:行者123 更新时间:2023-11-29 13:32:49 25 4
gpt4 key购买 nike

我有一个被锁定的查询。因此我的 Web 应用程序被锁定,我真的不明白为什么。

查看 PgAdmin 我有这个:

Activities

如果我没理解错的话,橙色查询已被上面的查询阻塞(处于“事务中空闲”状态)。

这是否意味着“idle in transaction”事务未提交?是否因为未提交其他事务被锁定?

如果我提交“idle in transaction”交易,它会解锁锁定的交易吗?

老实说,我真的不明白我应该如何解释这个。你能帮帮我吗?

最佳答案

您的假设是正确的。 “idle in transaction”表示 session (在本例中为 PID=16686)启动了一个事务并在 goodscontract 表上持有一些锁。

请注意,您看到的 PID=16686 的选择很可能不是阻止更新的语句(写入者不会被 Postgres 中的读取器阻止)。很可能 PID=16686 之前运行了一个不同的语句来获取锁(或者选择包含一个 for update 子句——因为你的截图没有显示完整的语句,这是不可能的) .

一般来说,强烈建议尽快结束事务(使用 commitrollback)——包括只执行 的只读事务选择s。

关于sql - 在事务中空闲并使用 PostgreSQL 锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742676/

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