PG 事务提交与回滚
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PG 事务提交与回滚相关的知识,希望对你有一定的参考价值。
在PostgreSQL中,如果执行一个dml或ddl语句,默认一执行完就马上提交了,不能回滚,这样容易导致误操作的发生,避免这个风险的办法是关闭自动提交
1 设置set AUTOCOMMIT off (ddl语句这里设置了之后一样会回滚,记住这里AUTOCOMMIT是大写)
2 闪回点策略,如下:
begin; -----这里的作用等同于set AUTOCOMMIT off
insert into tb01 values(1);
savepoint sp1;
insert into tb01 values(2);
savepoint sp2;
insert into tb01 values(3);
如果直接执行 1)rollback(体现了事务的原子性,要么全回滚,要么全提交,即begin;开始的地方),那么所有数据都回滚 2)如果rollback to savepoint to sp1,那么此时则回滚点SP2则自动消失。 3)如果先回滚到SP2,那么可以继续回滚到SP1
回滚点可以运用于大事务切割,避免出错,所有操作都回滚
以上是关于PG 事务提交与回滚的主要内容,如果未能解决你的问题,请参考以下文章