1. 程式人生 > 資料庫 >postgresql 如何關閉自動提交

postgresql 如何關閉自動提交

postgresql中預設是自動提交的

檢視是否是自動提交:

 postgres=# \echo :AUTOCOMMIT 
 on

關閉自動提交:

 postgres=# \set AUTOCOMMIT off 
 postgres=# \echo :AUTOCOMMIT 
 off

另一種方式就在會話開始的時候以begin開始相當於關閉了自動提交,以end或者commit結束就可以了

補充:pg(hgdb)預設事務自動提交

預設情況下,AUTOCOMMIT(自動提交)是開著的,也就是說任何一個SQL語句執行完畢後,它鎖做的資料修改都會被立即提交,這種情況下每個語句都是一個獨立的事務,一旦 執行完畢祁結果就不可撤銷。

如果你需要執行大量的DML語句並且這些語句還未經充分測試,那麼自動提交功能會帶來麻煩,此時有必要關閉事務自動移交機制來對資料進行保護。

請先關閉自動提交功能:\set AUTOCOMMIT off,然後就可以按需對事務進行回滾了:

update census.fats set short_name='this is a mistake.';

要回滾事務,請執行:

rollback;

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。