2015-04-23 50 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”。 –