Hola Lista

En el siguiente link hay una versión que permite  una gestión
estandarizada:
https://wiki.postgresql.org/wiki/Audit_trigger

En este, estrategias disponibles  para auditoria:
https://severalnines.com/blog/postgresql-audit-logging-best-practices




El dom., 2 de jun. de 2019 a la(s) 21:09, Jose Mercedes Venegas Acevedo (
jvenegasp...@gmail.com) escribió:

> 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
>
>
>

-- 
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

Reply via email to