A continuacion se muestran ejemplos en diferentes versiones.
Para PostgreSQL 8.1 o posterior es muy simple, solo basta con:
ALTER TABLE nombre_tabla ENABLE/DISABLE TRIGGER mi_trigger;
La cosa se complica con versiónes anteriores a la version 8.0 ya que tenemos que modificar los catalogos del sistema, como se muestra a continuacion:
Desabilitarlos
UPDATE pg_catalog.pg_class SET reltriggers = 0 WHERE oid = 'nombre_tabla'::pg_catalog.regclass;
Habilitarlos
UPDATE pg_catalog.pg_class SET reltriggers = (SELECT pg_catalog.count(*) FROM pg_catalog.pg_trigger WHERE pg_class.oid = tgrelid) WHERE oid = 'nombre_tabla'::pg_catalog.regclass;
Y eso es todo por el momento, saludos.
2 comentarios:
y no hay una forma de desactivarlos y activarlos todos? osea no uno por uno
Publicar un comentario