From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Marcos Michel Martinez Perez <mmartinezp(at)uci(dot)cu> |
Cc: | Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: cantidad de trigger sobre tabla |
Date: | 2016-02-22 20:31:02 |
Message-ID: | 20160222203102.GA212221@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2016-02-22 21:57:19 | Re: join super lento |
Previous Message | Marcos Michel Martinez Perez | 2016-02-22 20:20:30 | cantidad de trigger sobre tabla |