Skip site navigation (1) Skip section navigation (2)

otra de auditoría

From: suso <jlcubas(at)terra(dot)es>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: otra de auditoría
Date: 2009-10-28 12:37:57
Message-ID: 4AE83B25.6030909@terra.es (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Hola de nuevo a todos, me gustaría me dieran vuestro consejo sobre lo siguiente:

Tengo este trigger(uno por tabla) y su function correspondiente(una por tabla), a parte de 
guardar los datos que se ven, es decir la tabla modificada, más el usuario, ip del mismo, fecha, 
hora y tipo de operación, debería guardar algún dato más para que el tema de auditorías fuera 
mas exacto o fiable?


CREATE TRIGGER audit_aux
   BEFORE INSERT OR UPDATE OR DELETE
   ON aux
   FOR EACH ROW
   EXECUTE PROCEDURE audit_aux();

CREATE OR REPLACE FUNCTION audit_aux()
   RETURNS trigger AS
$BODY$
begin
    IF (TG_OP = 'DELETE') THEN
             INSERT INTO audit.aux SELECT OLD.*,user,inet_client_addr()::varchar,now(),'B';
             RETURN OLD;
         ELSIF (TG_OP = 'UPDATE') THEN
             INSERT INTO audit.aux SELECT NEW.*,user,inet_client_addr()::varchar,now(),'U';
             RETURN NEW;
         ELSIF (TG_OP = 'INSERT') THEN
             INSERT INTO audit.aux SELECT  NEW.*,user,inet_client_addr()::varchar,now(),'I';
             RETURN NEW;
         END IF;
         RETURN NULL;
end;$BODY$
   LANGUAGE 'plpgsql' VOLATILE
   COST 100;
ALTER FUNCTION audit_aux() OWNER TO postgres;



Gracias
Un saludo
Suso

Responses

pgsql-es-ayuda by date

Next:From: Cesar EricesDate: 2009-10-28 12:45:08
Subject: Re: [pgsql-es-ayuda] otra de auditoría
Previous:From: Alvaro HerreraDate: 2009-10-28 02:00:19
Subject: Re: Re: ?==?iso-8859-1?Q?[pgsql-es-ayuda] Re: [pgsql-es-ayuda] SOT: Ayu?==?iso-8859-1?Q?da con diseño de BD

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group