On Thu, 3 Jul 2003, Rory Campbell-Lange wrote:
> If a function generates an exception, do I need to rollback manually?
Not currently. The current bevaviour of postgresql is to roll back any
transaction that generates an error. Of course, it's considered good
practice to do it in some circles. And someday there will be sub
transactions, which would let you just enclose possible sticking points in
your transaction in its own box.
But even then, my guess is that as soon as the connection is lost, or you
try to commit without handling the errors (in some not too distant future
with subtrans / error handling) then the transaction will roll back
anyway.