Marcos Michel Martinez Perez escribió:
> saludos
> 
> como puedo saber la cantidad de trigger (#) que se disparan al ejecutar una
> operacion dada en una tabla

Una manera fácil es mirar \d ... o bien, mirar
select * from information_schema.triggers

> y otra pregunta, si yo tuviera 20 000 trigger sobre una misma tabla que
> estan puestos para dispararse al insertar, si yo hago un insert sobre dicha
> tabla que garantias tengo de que se disparen todos?

Si ninguno falla, todos se disparan.  Los triggers BEFORE pueden detener
la ejecución del resto (usando RETURN NULL).  Cualquier trigger puede
hacer RAISE EXCEPTION y deterner la inserción.  Si no tienes acceso al
código fuente de tus triggers, algún malicioso puede hacer "RETURN NULL"
en un trigger BEFORE que detenga la inserción de ciertas filas (por ej.
alguien malicioso podría impedir silenciosamente la inserción de filas
de auditoría)

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a