Re: cantidad de trigger sobre tabla

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

In response to

Browse pgsql-es-ayuda by date

  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