What is the expected behavior of a construct like this: def insert_xml(elem): id=int(elem.findtext('PMID')) try: plpy.execute(plan,[unicode(ET.tostring(elem)),id]) except: plpy.execute(plan2,[unicode(ET.tostring(elem)),id]) id is a primary key on the table into which I am inserting. "plan" is the execute plan for inserting new data. "plan2" is for updating data already in the database. When I run this, I am not able to catch errors of this type: WARNING: plpython: in function insert_medline_file: DETAIL: plpy.Error: Unknown error in PLy_spi_execute_plan ERROR: duplicate key value violates unique constraint "medlinexml_pkey" CONTEXT: SQL statement "insert into medlinexml(content,id) values (xmlparse(CONTENT $1),$2)" Why am I not able to catch this error and execute the update plan? The manual (8.3beta2) implies that errors generated in functions are genuine python errors that I should be able to catch. Thanks, Sean ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings