2016-08-02 15:46 GMT-05:00 Sergio Sinuco <sergiosin...@datatraffic.com.co>: > Jaime solo hay un trigger en esta tabla, CREATE TRIGGER es el siguiente: > > CREATE TRIGGER ins_trama > BEFORE INSERT > ON parseo.trama_1 > FOR EACH ROW > EXECUTE PROCEDURE parseo.ins_trama(); > > El 2 de agosto de 2016, 15:44, Jaime Casanova > <jaime.casan...@2ndquadrant.com> escribió: >> >> 2016-08-02 14:22 GMT-05:00 Sergio Sinuco >> <sergiosin...@datatraffic.com.co>: >> > >> > Lo que si estoy viendo es que despues de insertar el registro se hace >> > actualiza en la tabla padre usando la llave primaria. >> > >> > UPDATE parseo.trama_1 SET ejecutada=true WHERE id=idtramain; >> > >>
Si el trigger es BEFORE INSERT y termina con RETURN NULL, el registro nunca toca la tabla padre sino solo la tabla hija. por lo que ese UPDATE busca en las 200 hijas el registro que debe actualizar (solo eliminaría particiones si el constraint check incluyera el campo id pero ese usa el campo fecha) por lo que ahi tienes 201 tablas. Deja de ejecutar ese UPDATE que no te sirve y si ese id es el mismo que acabas de insertar solo modifica el registro antes de insertarlo (NEW.ejecutada = true) en el trigger. Y lo que Álvaro dice... -- Jaime Casanova 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