Re: Ayuda con los campos de auditoria

From: "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx>
To: "jlcambero" <jlcambero(at)emergya(dot)es>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con los campos de auditoria
Date: 2007-06-20 12:53:03
Message-ID: 003901c7b339$f191cb00$5800a8c0@amadeus.net.co
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Recuerda enviar copia a la lista ...

Creo que estas haciendo algo mal ... estas usando "create temp table" ??

Hice la siguiente prueba:

*** SESION 1 (logeado con usuario postgres) ***
postgres=# create temp table prueba(i int);
CREATE TABLE
postgres=# \d
List of relations
Schema | Name | Type | Owner
-----------+--------+-------+----------
pg_temp_1 | prueba | table | postgres
(1 row)

*** SESION 2 (logueado con el usuario prueba "al mismo tiempo que sesion 1")
***
postgres=> create temp table prueba(i int);
CREATE TABLE
postgres=> \d
List of relations
Schema | Name | Type | Owner
-----------+--------+-------+--------
pg_temp_2 | prueba | table | prueba
(1 row)

Cómo vez, cree la misma tabla temporal en dos sesiones independientes y con
diferentes usuarios ... pensaría que la "clave" esta en que postgresql las
crea en diferentes esquemas.

Atentamente,

RAUL DUQUE
Bogotá, Colombia

----- Original Message -----
From: "jlcambero" <jlcambero(at)emergya(dot)es>
To: "Raul Andres Duque" <ra_duque(at)yahoo(dot)com(dot)mx>
Sent: Wednesday, June 20, 2007 6:55 AM
Subject: Re: [pgsql-es-ayuda] Ayuda con los campos de auditoria

El Martes, 19 de Junio de 2007 20:41, escribió:
> Una alternativa es que crees al iniciar cada sesion una tabla TEMPORAL con
> la info del usuario "logueado" en tu aplicación y generas triggers para
> actualizar una tabla de auditoria o unos campos en la tabla principal que
> te indiquen quien inserto/actualizó y a que horas.
Esta es la idea que tenia en mente.
Estoy probando... dentro de una función que se encarga de comprobar los
datos
del login, si el login es correcto creo una tabla temporal y almaceno los
datos que necesito del usuario.
Ahora el problema, al logearse otro usuario, no me deja volver a crear la
tabla temporal con el mismo nombre, cosa que si me permite si creo la tabla
en dos sesiones distintas con el mismo usuario, pero no dentro de una
función.
¿Alguna sugerencia?

> Otra alternativa (aunque en la mayoría de los casos puede no aplicar), es
> que almacenes la ip del usuario que se conecta, esto lo obtienes con una
> función, aunque depende de que los usuarios SOLO se puedan loguear desde
> sus propias máquinas.
>
> Otra alternativa es que en tu capa de acceso a datos, interceptes los
> update/inserts y llenes los campos correspondientes y/o tabla de
> auditoria.

Esa alternativa prefiero dejarla como ultima opción, la idea es hacerlo a
base
de triggers.

> Atentamente,
>

Gracias, un saludo
> RAUL DUQUE
> Bogotá, Colombia
>
>
> ----- Original Message -----
> From: "jlcambero" <jlcambero(at)emergya(dot)es>
> To: <pgsql-es-ayuda(at)postgresql(dot)org>
> Sent: Tuesday, June 19, 2007 1:05 PM
> Subject: [pgsql-es-ayuda] Ayuda con los campos de auditoria
>
>
> Buenas lista,
> estamos desarrollando una aplicación, con hibernate / postgreSql, dicha
> aplicación conecta con la base de datos con un usuario, pero en la
> aplicación
> hay muchos usuarios distintos que no lo son de la base de datos.
>
> Ahora queremos mantener un control de quien inserta o actualiza un
> registro, rellenando campos de auditoria (creado, modificado, y sus
> respectivas fechas), a base de triggers pero no se como puedo identificar
> que usuario es el que manda cada query.
>
> El chico que esta trabajando con hibernate no sabe tampoco muy bien como
> hacerlo y yo de hibernate no tengo ni idea.
>
> Espero vuestras ideas/sugerencias.
>
> Gracias, un saludo
>
> Jose Luis Cambero Contador
> Emergya, Consultoría e Ingeniería
> Avda. de la Innovación, 3. Edif. Hércules.
> 41020 - Sevilla
> Tel. +34 954 51 75 77
> Fax. +34 954 51 64 73
> http://www.emergya.info
> --
> ---------------------------(fin del mensaje)---------------------------
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
> http://archives.postgresql.org/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Sonia Malave 2007-06-20 12:57:01 Store Procedure en revision!
Previous Message Jaime Casanova 2007-06-20 12:45:17 Re: Ejecutar \copy desde VB