我遇到了“由于并发更新而无法序列化访问”的问题。我检查了日志,我可以清楚地看到两个事务试图同时更新一行。
我的 sql 查询
UPDATE sessionstore SET valid_until = %s WHERE sid = %s;
Run Code Online (Sandbox Code Playgroud)
如何告诉 postgres “尝试”更新行而不抛出任何异常?
我正在使用 PostgreSQL 数据库 (V 10) 和 odoo ERP (V 12)。
当我尝试同时使用 2 个不同的用户更新表时,我得到
ERROR: could not serialize access due to concurrent update
即使我使用多个芹菜工作人员进行并行执行,我也会收到此错误。有没有使用 odoo 在 PostgreSQL 中的同一个表中并行更新的解决方案。
谢谢!
有人可以向我解释一下数据库事务理论中“写偏斜”和“丢失更新”之间的确切区别吗?有人可以举个例子吗?