Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Postgres中的锁何时释放_Postgresql - Fatal编程技术网

Postgresql Postgres中的锁何时释放

Postgresql Postgres中的锁何时释放,postgresql,Postgresql,我在理解锁方面有一些问题。当一切顺利时,锁自然会释放。但我不确定什么时候锁被释放,什么时候事情发生故障的确切逻辑。锁可以保持多久?我是否可以终止所有进程,从而释放所有锁?是否必须显式调用回滚?通常,当事务以提交或回滚结束时,会释放锁 有 一旦获得,锁通常会一直保持到事务结束。但如果 在建立保存点后获取一个锁,该锁是 如果保存点回滚到,则立即释放。这是 与回滚将取消 保存点之后的命令。对于在中获取的锁,也是如此 PL/pgSQL异常块:从块释放的错误转义 在其中获得的锁 二, 在Postgre

我在理解锁方面有一些问题。当一切顺利时,锁自然会释放。但我不确定什么时候锁被释放,什么时候事情发生故障的确切逻辑。锁可以保持多久?我是否可以终止所有进程,从而释放所有锁?是否必须显式调用回滚?

通常,当事务以提交或回滚结束时,会释放锁

  • 一旦获得,锁通常会一直保持到事务结束。但如果 在建立保存点后获取一个锁,该锁是 如果保存点回滚到,则立即释放。这是 与回滚将取消 保存点之后的命令。对于在中获取的锁,也是如此 PL/pgSQL异常块:从块释放的错误转义 在其中获得的锁

  • 二,

    在PostgreSQL中,有两种获取咨询锁的方法:at 会话级别或事务级别。一旦在会话级别获得, 通知锁一直保持到显式释放或会话结束 结束

    终止后端进程应该释放锁,但不应该是释放锁的正确方法:只有当您无法以干净的方式结束客户端应用程序时,才应将其作为最后手段