Mike Charnoky <noky@nextbus.com> writes:
> First, a question: For a PG8.1 database, is it preferable to use the new
> "alter table disable|enable trigger" command as opposed to the old
> method of setting pg_class.reltriggers = 0?
Very much so --- manual manipulation of reltriggers has never been
anything but a dangerous kluge.
> I'm assuming the "alter table" approach is preferred, so I converted
> some scripts to use the new method. However, sometimes the
> enable/disable trigger command hangs when operating on certain tables.
> I use the syntax "ALTER TABLE mytable DISABLE TRIGGER ALL;". Any hints
> on how to debug this?
Look in pg_locks to see who's got a lock on the table. One of the
reasons the pg_class update is a kluge is exactly that it ignores
locking considerations ...
regards, tom lane