From: | Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: registro de actividad de usuarios |
Date: | 2008-02-02 19:11:02 |
Message-ID: | 13895.41069.qm@web52106.mail.re2.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Efectivamente cada usuario tendra su propio nombre y clave, entonces deberia hacer casi todo a nivel del motor, la cosa es como registrar en una tablita lo siguiente:
-El nombre de usuario
-La fecha-hora de la operacion
-La IP publica de la maquina usada (las pc pueden estar en la lan del server o conectarse por una VPN)
-La aplicacion, de la forma "nombreaplicacion.proceso" donde proceso es un nombre generico como "agregardatos", "consultacomplejas1", "consultacomplejas2",etc y es simplemente una forma de nombrar o agrupar un conjunto de varias operaciones SQL.
-La cadena sql ejecutada (en algunos casos)
Todo se hace con instrucciones SQL desde VB6.
Lo primero que se me ocurre seria hacerlo con triggers, de esta manera tambien controlaria algun usuario que esta accesando sin usar el programa a medida (no creo pero puede ser), pero como hacerlo.....
si tengo por ejemplo un proceso que busca, insertar o actualiza, etc , es decir muchas instrucciones SQL a podria llamar a todas juntas "actualizarcompleja1" cuando disparo el trigger?, y como le paso a este los datos para llenar la tablita.
habia pensado hacer algo asi
CREATE OR REPLACE FUNCTION AUDITOR_USERS () RETURNS TRIGGER AS '
DECLARE
fecha timestamp;
usuario varchar;
aplicacion varchar ---- a esta no se como asignarle la aplicacion que ejecuto la consulta,
-- ademas como identifico los grupos de operaciones/consultas?
dirip as varchar
BEGIN
select into fecha current_timestamp(0);
select into dirip inet_client_addr(); ------ AQUI ME DA ERROR NO SE COMO PASAR LA FUNCION A VARCHAR
select into usuario user;
INSERT INTO auditoria (FECHA,USUARIO,DIRIP,APLICACION)
values (fecha,usuario,dirip,aplicacion);
END;
'
LANGUAGE 'plpgsql' VOLATILE;
pero sigo con el problema desde donde disparar el trigger..
Tarjeta de crédito Yahoo! de Banco Supervielle.
Solicitá tu nueva Tarjeta de crédito. De tu PC directo a tu casa. www.tuprimeratarjeta.com.ar
From | Date | Subject | |
---|---|---|---|
Next Message | Leonel Nunez | 2008-02-02 19:21:42 | Re: conexion desde internet! |
Previous Message | mac_man2005 | 2008-02-02 18:19:26 | Posicion de los Runs en los Tapes |