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