postgresql中默認是自動提交的
查看是否是自動提交:
postgres=# \echo :AUTOCOMMIT
on
關(guān)閉自動提交:
postgres=# \set AUTOCOMMIT off
postgres=# \echo :AUTOCOMMIT
off
另一種方式就在會話開始的時候以begin開始相當于關(guān)閉了自動提交,以end或者commit結(jié)束就可以了
補充:pg(hgdb)默認事務自動提交
默認情況下,AUTOCOMMIT(自動提交)是開著的,也就是說任何一個SQL語句執(zhí)行完畢后,它鎖做的數(shù)據(jù)修改都會被立即提交,這種情況下每個語句都是一個獨立的事務,一旦 執(zhí)行完畢祁結(jié)果就不可撤銷。
如果你需要運行大量的DML語句并且這些語句還未經(jīng)充分測試,那么自動提交功能會帶來麻煩,此時有必要關(guān)閉事務自動移交機制來對數(shù)據(jù)進行保護。
請先關(guān)閉自動提交功能:\set AUTOCOMMIT off,然后就可以按需對事務進行回滾了:
1update census.fats set short_name='this is a mistake.';
要回滾事務,請執(zhí)行:
1rollback;
文章來源:腳本之家
來源地址:https://www.jb51.net/article/204288.htm
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!