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

RE: [pgsql-es-ayuda] Auditoría

From: "Edwin Quijada" <listas_quijada(at)hotmail(dot)com>
To: mmendez(at)ceride(dot)gov(dot)ar
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: RE: [pgsql-es-ayuda] Auditoría
Date: 2005-07-26 13:02:20
Message-ID: BAY14-F280E7CC7834CB41DDE7AD1E3CD0@phx.gbl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
La verdad no se como , le podras decir a Postgres que usuario es el que se 
esta conectando, Creo que lo mas logico seria que le pases a todas tus 
tablas el usuario en cuestion. Modificarias la estructura, que es bastante 
grande, pero seria necesario. Es decir , agregar un campo de quien hizo el 
cambio en cada tabla y pasar este desde la placa intermedia , luego ponerle 
a cada tabla activarla con triggers. Es lo mas q se me ocurre en este caso.

*-------------------------------------------------------*
*-Edwin Quijada
*-Developer DataBase
*-JQ Microsistemas
*-809-747-2787
* " Si deseas lograr cosas excepcionales debes de hacer cosas fuera de lo 
comun"
*-------------------------------------------------------*



>From: Máximo Eduardo Méndez <mmendez(at)ceride(dot)gov(dot)ar>
>Reply-To: "Máximo Eduardo Méndez" <mmendez(at)ceride(dot)gov(dot)ar>
>To: "Edwin Quijada" <listas_quijada(at)hotmail(dot)com>
>CC: pgsql-es-ayuda(at)postgresql(dot)org
>Subject: RE: [pgsql-es-ayuda] Auditoría Date: Mon, 25 Jul 2005 17:30:37 ART
>
>25 Jul 2005 15:16 ART usted escribio:
>
> > Si mal no recuerdo tu problema es de conceptos. En modelos de 3 capas, 
>como
> > ese, los usuarios se crean en la capa del medio no en la BD. Con Sybase 
>no
> > tenias ese problema porque era solo una app  de cada cliente. No puedes
> > crerar mas usuarios que se conecten al sistema>?
> >
>
>Hola Edwin.  El concepto del modelo de tres capas es claro, todo lo que es 
>regla de negocios va en la capa intermedia y si soy consecuente con el 
>paradigma debería dejar que de la auditoría sea manejada desde ahí.  Lo que 
>yo pretendo, es romper en algo ese esquema (no soy purista), y hacer algo 
>así como lo siguiente. Cuando un usuario conectado al JBoss haga una 
>operación que requiera la modificación de datos en la base, antes se haga 
>un insert en una tabla en la que se guarde el nombre del usuario y el id 
>del proceso o de la conexión a la base (no sé cómo obtener todavia el id 
>del proceso - estuve mirando la vista pg_stat_activity que saca información 
>de las conexiones activas).  Luego, todas las operaciones que se hagan en 
>ese proceso abierto se corresponderán a ese usuario, entonces en cada 
>trigger yo iría a leer la tabla que te decía y podría hacer el insert en 
>las pista de auditoría (todo codificado en los triggers).  Al terminar la 
>transacción se eliminaría el registro
>  de esa tabla.  Esto todavía es teórico y no pasa de ser una idea.
>
>Gracias por tu tiempo, y si se te ocurre otra cosa y me quieres comentar 
>será bienvenida.  Saludos.
>
>Máximo E. Méndez
>
>
>-
> > *-------------------------------------------------------*
> > *-Edwin Quijada
> > *-Developer DataBase
> > *-JQ Microsistemas
> > *-809-747-2787
> > * " Si deseas lograr cosas excepcionales debes de hacer cosas fuera de 
>lo
> > comun"
> > *-------------------------------------------------------*
> >
> >
> >
> > >From: Máximo Eduardo Méndez <mmendez(at)ceride(dot)gov(dot)ar>
> > >Reply-To: "Máximo Eduardo Méndez" <mmendez(at)ceride(dot)gov(dot)ar>
> > >To: pgsql-es-ayuda(at)postgresql(dot)org
> > >Subject: [pgsql-es-ayuda] Auditoría
> > >Date: Mon, 25 Jul 2005 12:35:00 ART
> > >
> > >Buenos días.  Con mi grupo tenemos una aplicación cliente servidor
> > >desarrollada en PowerBuilder y sobre la base de datos Sybase Adaptive
> > >Server Enterprise 12.  Es bastante voluminoso (507 tablas, 1175 stored
> > >procedures, 769 triggers...).  Tiene integrado un sistema de auditoría 
>que
> > >permite registrar los cambios que realiza un usuario (parametrizable) 
>sobre
> > >determinadas tablas (también parametrizables).  Esta funcionalidad está
> > >realizada con utilidades propias de Sybase y además implementada 
>mediante
> > >triggers.  Bueno, ahora el mismo sistema lo tenemos que implementar 
>pero
> > >usando software libre, por lo cual estamos trabajando sobre el estándar
> > >J2EE, con Java, JBoss, Hibernate y con Postgres para la persistencia.  
>Yo
> > >siempre estuve del lado de la base de datos, y ahora medio que veo 
>pasar
> > >las cosas de costado o por otro lado, ya que "hasta ahora (jeje)" no 
>hubo
> > >que hacer ninguna función, solamente tablas, integridad referencial e
> > >índices.  Bueno, el tema es que con este paradigm
> > >  a, desde el Postgres yo solamente veo una única conexión con la base 
>de
> > >datos ya que los usuarios se conectan al servidor de aplicaciones y 
>este
> > >con la base. De esta manera yo desde el Postgres puedo determinar los
> > >cambios hechos pero no quien es el usuario que hace el cambio (repito,
> > >solamente veo uno).  La auditoría la quiero implementar en la base con
> > >triggers, pero no se me ocurre la manera de recibir el usuario.  No 
>quiero
> > >relegar otra cosa más a la capa del medio. Cualquier idea será 
>bienvenida.
> > >Muchas gracias.
> > >
> > >Máximo E. Méndez
> > >
> > >---------------------------(fin del mensaje)---------------------------
> > >TIP 7: no olvides aumentar la configuración del "free space map"
> >
> > _________________________________________________________________
> > De todo para la Mujer Latina http://latino.msn.com/mujer/
>

_________________________________________________________________
MSN Latino: el sitio MSN para los hispanos en EE.UU. http://latino.msn.com/


In response to

Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2005-07-26 13:09:28
Subject: Re: RE: ?==?iso-8859-1?Q?[pgsql-es-ayuda] Auditoría
Previous:From: Alvaro HerreraDate: 2005-07-26 02:34:39
Subject: Re: Vacuumdb

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