Ivan Sergio Borgonovo <mail(at)webthatworks(dot)it> writes:
> I don't get it.
> Why dropping the triggers would cause a deadlock anyway?
> I bet it is due to my nave view of the problem but I think a
> trigger is a "function". Unless there is concurrent access to the
> table where the function is defined... I can't see why dropping the
> "functions" serially should cause a lock.
They're not just functions, they are part of the DDL for a table.
Adding or removing a trigger on a table requires exclusive lock
on that table, otherwise you can't be sure what will happen in
concurrent transactions that might (or might not) be supposed to
fire the trigger.
regards, tom lane