Re: implicit rollback? - Mailing list pgsql-novice

From John DeSoi
Subject Re: implicit rollback?
Date
Msg-id B18F37C3-ED1B-4A9D-A3E8-6EA83DE2010A@pgedit.com
Whole thread Raw
In response to implicit rollback?  (Carol Walter <walterc@indiana.edu>)
List pgsql-novice
On Jun 17, 2009, at 8:26 AM, Carol Walter wrote:

> I have a program (PHP) that is executing a number of SQL commands as
> a single transaction.  At the beginning of the transaction, I have a
> "BEGIN" and at the end I have a "COMMIT".  If one of the
> transactions fails, do I have to explicitly issue a "ROLLBACK"
> command, or will postgres do this automatically because one of the
> commands fails?

Postgres does not automatically issue a "ROLLBACK" command. But you
can use "END" instead of "COMMIT". This will commit the transaction if
there are no errors, otherwise it will rollback:

db=# begin;
BEGIN
db=# select 1/0;
ERROR:  division by zero
db=# end;
ROLLBACK



Interesting, though, I just noticed that this behavior is not
discussed in the documentation.


http://www.postgresql.org/docs/8.3/interactive/sql-end.html





John DeSoi, Ph.D.





pgsql-novice by date:

Previous
From: "Mohlomi Moloi"
Date:
Subject: Re: implicit rollback?
Next
From: MITCHELL CIFUENTES
Date:
Subject: problem with sequence number using a trigger