Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/03/2007, 15:10
cacr
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Re: auditoría de datos, funciones y disparadores

Hola...

El asunto es, tengo una única tabla auditoria, en la que pretendo se guarden todas las transacciones que se realicen en cualquiera de las otras tablas de la BD, de manera que:

1.- op -> [insert, update, delete]
2.- fecha -> timestamp -> now()
3.- tabla -> en la que se hizo la transacción
4. IP -> desde dónde se hizo la transacción
5.- usr -> quién hizo la transacción

Creo, lo ideal sería que que el _llenado_ de ésta tabla se hiciera desde el mismo postgres, de manera que podría utilizar para:
1.- op -> TG_OP
2.- tabla -> TG_RELNAME

que son valores que se pueden obtener cuando la función se activa desde un trigger, pero...

4.- IP y 5.- usr , al ser un sistema basado en web, no puedo utilizar ninguna de las funciones:
inet_client_addr() ni user_session()

entonces, me veo con las siguientes opciones (si hay más, bienvenidas sean):

1) disparar la función sin la posibilidad de guardar quién y desde dónde se hizo la transacción, lo cual no parece muy lógico, pues es de las cosas más importantes, y
2) ejecutar la función desde php, sin el trigger, y llenar el nombre de la tabla y el tipo de transacción a punta de php... (no estaría aprovechando los recursos de pg)

Ideas?
__________________
Gracias de todas todas
-----
Linux!