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.';
要回滾事務,請執行:
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Postgresql 默認用戶名與密碼的操作
- postgresql 中的加密擴展插件pgcrypto用法說明
- PostgreSQL表膨脹監控案例(精確計算)
- Postgresql 解決pg掉電后無法重啟的問題
- PostgreSQL 恢復誤刪數據的操作
- PostgreSQL 日志文件的所在位置
- PostgreSQL 實現登錄及修改密碼操作