Hi! I was looking into the postgres error handling mechanism, and the documentation states that the present mechanism is primitive.
I quote "whenever the parser, planner/optimizer or executor decide that a statement cannot be processed any longer, the whole transaction gets aborted and the system jumps back into the main loop to get the next command from the client application."
Also, it states " it is possible that the database server is in an inconsistent state at this point so returning to the upper executor or issuing more commands might corrupt the whole database"
(Postgres 7.4.3 docs, 37.9 Errors and messages)
Since postgres aborts the transaction compeletely, why would it be ever left in an inconsistant state in such an event?