【发布时间】:2020-12-08 04:51:40
【问题描述】:
我正在做这个更新查询:
await this.userRepository.query(
`
update "user" u
set profile_pic = i.name
from user_images_image uii
inner join image i on uii."imageId" = i."id"
where uii."userId" = u.id and u.id = ${userId} and i.id = ${imageId};
`,
);
即使我在我的数据库客户端中执行相同的查询并且它按预期工作,它也不会终止。
【问题讨论】:
-
pg_stat_activity在说什么?连接状态如何? -
@GustavoKawamoto
pg_stat_activity表示这是一个锁,即wait_event_type是锁,wait_event是 transactionid,state是活动的。你问的是连接状态吗? -
是的。从表面上看,有些东西以某种方式锁定了您的更新。您可以使用 these queries 找到锁定的内容。
-
@GustavoKawamoto 哦,谢谢,我会去看看。但正如我刚刚设法发现它与我正在进行的交易有关,更准确地说,我已经重写了相同的方法而不进行交易并且它有效......
-
@GustavoKawamoto 你对这个transactionid 可能有什么想法吗?我不太清楚它是如何在低级别工作的。
标签: node.js postgresql sql-update typeorm