码迷,mamicode.com
首页 > 其他好文 > 详细

PG 事务提交与回滚

时间:2020-04-16 10:35:52      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:insert   执行   事务   语句   提交   code   comm   llb   地方   

在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 事务提交与回滚

标签:insert   执行   事务   语句   提交   code   comm   llb   地方   

原文地址:https://blog.51cto.com/2012ivan/2487715

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!