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 事务提交与回滚的主要内容,如果未能解决你的问题,请参考以下文章

mysql 实现事务的提交与回滚

PLSQL事务提交了,要怎么回滚

sql 事务自动回滚

什么是事务事务中的提交和回滚是什么意思

PG基础篇--逻辑结构管理(事务)

jdbc 5.0