A while back, I ran into a problem that turned out to be in Postgre on
purpose. In a long running transaction (or any transaction for that matter)
if an exception is thrown then you have no choice but to rollback that
transaction. Is there someone that can point me in the right direction in
finding out why this would be? It has bitten me a few times and will limit
Postgre's ability to work in a high volume operation.