Hannu Krosing <hannu@2ndQuadrant.com> writes:
> Are you sure that having each try/except use a subtransaction is the
> right way to do it ?
Actually it is not: what you have to do is use a subtransaction in the
plpy.execute() operation, so that if the called SQL operation fails, you
can clean it up and then report the error to Python as if it were any
other Python error. Messing with the host language's exception handling
is a sure route to misery. plperl and pltcl both contain examples of
doing this properly.
regards, tom lane