问题描述
我有两个查询。第一个是 upsert 查询,第二个是更新查询。这些查询一个接一个地运行。有时它会在同一秒内被调用两次。
但有时我会遇到一个死锁检测错误。
第一次查询:
insert into pairs
select *
from json_populate_recordset(
null::pairs,'${JSON.stringify(marketsData)}'
)
order by market,parity,base,contractaddress
ON CONFLICT (market,contractaddress)
DO UPDATE SET buy = EXCLUDED.buy,sell= EXCLUDED.sell,hambuy= EXCLUDED.hambuy,hamsell= EXCLUDED.hamsell,contractaddress= EXCLUDED.contractaddress);
第二次查询:
UPDATE pairs
SET multiple = true
WHERE parity IN (SELECT parity
FROM pairs
WHERE market = 'Uniswap'
GROUP by parity
HAVING count(*)>1)
AND market = 'Uniswap';
我应该怎么做才能避免出现死锁错误?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)