I think you need "return old", not "return new", in the body of the trigger if you want the delete to take place. new would be NULL in a delete situation ...
regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html