繁体   English   中英

是否可以在不释放行锁的情况下提交事务并启动新事务?

[英]Is it possible to commit a transaction and start a new one without releasing the row locks?

我有一个用例需要:

  1. 更新一行。
  2. 将更改持久化到磁盘,这样系统崩溃就不会逆转它。
  3. 更新未被另一个事务修改的同一行(竞争条件)。

我将如何实现这一目标? 是否可以在不释放行锁的情况下提交事务并启动新事务?

Postgres 支持咨询锁,可以在 Session 生命周期内保持。 如果您的所有线程都使用这些锁,那么您将是安全的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM