miércoles, 27 de junio de 2007

Habilitar o desabilitar Triggers en PostgreSQL

Existen diversas formas para habilitar o desabilitar los triggers en postgresql, sobre todo de version a version.

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:

Battisti dijo...
Este blog ha sido eliminado por un administrador de blog.
Unknown dijo...

y no hay una forma de desactivarlos y activarlos todos? osea no uno por uno

Bahia desde el balcon...

Bahia desde el balcon...
Ixtapa Zihuatanejo