我们知道oracle中sqlplus里面执行dml语句;是需要提交commit;若错了;也可以回滚rollback; 然而在postgresql里面默认是自动提交;执行完就马上提交了,不能回滚,这样容易导致误操作的发生,有没有什么办法避免这个风险呢?当然有,在psql中默认是打开自动提交的,我们可以关闭自动提交。
2. 操作验证
[postgres@oracle2 ~]$ psql -U lottu -d xzfb
psql (9.5.0)
Type "help" for help.
xzfb=> create table lottu01(id int);
CREATE TABLE
xzfb=> select * from lottu01;
id
----
(0 rows)
xzfb=> insert into lottu01 values (1001);
INSERT 0 1
xzfb=> rollback
xzfb-> ;
WARNING: there is no transaction in progress
ROLLBACK
xzfb=> select * from lottu01;
id
------
1001
(1 row)
从上面操作下;postgresql是自动提交的;如何关闭呢;执行 \set AUTOCOMMIT off
[postgres@oracle2 ~]$ psq