2015-04-23 49 views
-1

我正在使用Node pg來連接和使用我的Postgres數據庫。我使用節點j的Postgres函數插入更新或獲取數據。我也使用連接池來連接到數據庫。節點pg庫自動提交vs顯式提交

  1. 當使用節點PG讓我們說我火插入查詢,我需要 調用commit或者這是一個自動提交。
  2. 此外,如果我從節點調用一些功能,對 做一些修改,我需要顯式調用commit。
  3. 我想知道庫是否允許我在每次調用時都會調用commit來執行比 更好的操作。
  4. 請注意,這不是關於具有中間 保存點或除基本完全提交之外的任何其他事務的複雜事務。
+0

你的問題很混亂。首先,你說你正在使用Node JS的函數,然後你問的是一個可能的'COMMIT',這在這種情況下是不相關的。如果您在PG功能中使用事務,則必須在同一功能內控制事務。如果你使用'BEGIN'從Node JS啓動一個事務,那麼你需要用'ROLLBACK'或'COMMIT'來完成它。除了執行簡單查詢之外,除了事務之外,還沒有任何事情需要完成。 –

回答

-1

Postgres數據庫不同於Oracle或SQL服務器數據庫,因爲數據庫本身的默認模式是自動提交,即如果在執行DML語句之前沒有Begin語句 - 插入更新刪除,則語句只是在完成執行時提交。如果你需要更好的事務控制,那麼我們必須明確地開始一個「開始」,然後通過給予更好的控制來需要「提交」或「回滾」。所以上述問題的答案是,如果你不開始一個開始語句,那麼就不需要擔心調用提交。 - Vivek Anand Y 6小時前

+0

Oracle no SQL Server在事務之外不需要「COMMIT」。 –