我有一条包含该版本的记录,最初是1
。
200
并发用户正在更新同一记录,每个更新版本应增加1
。如果一切正常,则版本必须为200
。
我无法正确更新记录。
Max connection pool size = 50
Database = Postgres
你能建议吗? 在此先感谢:)
答案 0 :(得分:0)
这里不需要任何复杂的事情,也不需要明确的交易管理。
所有参与的会议都只发出
UPDATE mytab
SET version=version+1
WHERE key=42
RETURNING version;
默认情况下,每个语句都在自己的事务中运行,这些事务将通过行上的独占锁相互锁定,因此它们将自动序列化。