Matt Miller <mattm@epx.com> writes:
> The idea is to allow a PL/pgSQL exception to not automatically rollback
> the work done by the current block.
This fundamentally breaks the entire backend. You do not have the
option to continue processing after elog(ERROR); the (sub)transaction
rollback is necessary to clean up inconsistent state.
regards, tom lane