You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL:应用线程持行锁时意外关闭,行锁及事务状态如何?

PostgreSQL行锁与事务在应用异常关闭时的行为

问题1:PostgreSQL中应用线程持有行锁时关闭会发生什么?

  • 当持有行锁的应用线程意外关闭(进程崩溃、主动终止等),PostgreSQL会立即检测到连接断开。
  • 数据库会自动回滚该线程对应的未提交事务,同时释放该事务持有的所有行锁、表锁等资源。

问题2:应用已获取行锁并执行事务时遇关闭(如断电),被锁定的行状态如何?行锁会解除且事务回滚吗?

  • 无论应用进程关闭还是服务器断电,只要事务未提交,PostgreSQL重启后会触发崩溃恢复机制:
    • 所有未完成的事务都会被彻底回滚,包括已获取行锁但未提交的事务。
    • 被锁定的行将自动解除锁定,恢复到事务开始前的状态,不会遗留任何锁资源。
  • 只有已成功提交的事务会被保留,未提交的操作全部撤销,行锁同步释放。

内容的提问来源于stack exchange,提问作者Majki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 03:27:03