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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-07-26 13:09:28 Re: RE: [pgsql-es-ayuda] Auditoría
Previous Message Alvaro Herrera 2005-07-26 02:34:39 Re: Vacuumdb