Triggers para actualizar varias tablas por campos se podria hacer mas optimos que problemas podria haber

From: Jose Mercedes Venegas Acevedo <jvenegasperu(at)gmail(dot)com>
To: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Triggers para actualizar varias tablas por campos se podria hacer mas optimos que problemas podria haber
Date: 2019-06-03 02:08:42
Message-ID: CA+KjtGfDh-x=eA-WYEuueJzQRDjHxMC5bfYg2v+t4XLuEDWk_Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Estimados
Buen dia a todos

Desde hace algun tiempo vengo manejando triggers para manejar el
seguimiento de las actividades de los usuarios en una tabla
a todas mis tablas siempre le agrego cuatro campos:
usuario -- El usuario que crea el registro
usuario_update -- El usuario que hizo la ultima modificacion al registro
fregistro -- Timestamp del momento en que se creo el registro
fupdate -- Timestamp del momento en que se produjo la ultima modificacion.

El hecho es que tengo un trigger individual por cada campo y luego lo
aplico a cada tabla tengo como 200 tablas y toda usan estos mismos 4
triggers como por ejemplo aqui lineas mas abajo pongo el trigger para el
usuario que actualiza.

Mi pregunta es que les parece esta manera de usar los triggers ahora estoy
pensando hacer esto mismo con otros campos comunes que estan apareciendo en
mis tablas y quisiera su opinion de alguna idea para mejorar o que
problemas podria tener al usar el mismo trigger en todas las tablas o quiza
juntar todos los campos comunes en un solo trigger creen que esto es
correcto? seria mejor tener un trigger distinto para cada tabla? que
problemas creen que se podrian presentar bueno vengo trabajando de esta
forma ya hace como dos años pero mis base de datos es solo para unos 50
usuarios aprox que estan modificando y consultando una BD con postgis y
hasta ahora ningun problema pero la BD y usuarios estan creciendo asi que
decidi preguntar por aqui haber que ideas me podrian dar

CREATE OR REPLACE FUNCTION public.usuario_upd()
RETURNS trigger AS
$BODY$
DECLARE

BEGIN
NEW.usuario_update := "current_user"();
RETURN NEW;
END
$BODY$
LANGUAGE plpgsql VOLATILE STRICT
COST 50;
ALTER FUNCTION public.usuario_upd()
OWNER TO postgres;

drop trigger usuario_colector_upd;

CREATE TRIGGER usuario_colector_upd
BEFORE UPDATE
ON public.al_colector_geo
FOR EACH ROW
EXECUTE PROCEDURE public.usuario_upd();

--
José Mercedes Venegas Acevedo
cel Mov RPC 964185205

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Carlos T. Groero Carmona 2019-06-03 15:53:53 WAL estan utilizando demasiado disco
Previous Message Horacio Miranda 2019-06-02 05:11:36 Re: Como inhabilitar el acceso a postgres cambiando MD5 a Trust en PG