identificar usuario con registro en una tabla
estimad@s:
He buscado en la documentación (de forma parcial) y no he podido
encontrar alguna sentencia o comando que me pueda retornar el nombre
del usuario que realizo un insert en una determinada tabla (pero de
forma historica), me explico:
1.- En el momento que se ingresa un registro se que puedo saber quien
lo está haciendo (a través de un trigger o simplemente consultando la
session activa).
2.- Pero en una tabla cuando realizo un select como puedo saber que
usuarios han ingresado cada uno de los registros?
Lo anterior se quiere saber para realizar consultas de forma
historica....lo que he estado pensando es hacer un trigger y que se
dispare despues de haber ingresado la tupla y guarde en esa misma
tupla el nombre del usuario (pero me gustaría saber si se puede hacer
de la forma que estoy planteando en el punto dos, es algo parecido a
los ficheros de linux, cuando se crean quedan con la identificación
del propietario).
Espero haberme explicado, saludos
--
Milton Inostroza Aguilera
Milton Galo Patricio escribi�:
Lo anterior se quiere saber para realizar consultas de forma
historica....lo que he estado pensando es hacer un trigger y que se
dispare despues de haber ingresado la tupla y guarde en esa misma
tupla el nombre del usuario (pero me gustar�a saber si se puede hacer
de la forma que estoy planteando en el punto dos, es algo parecido a
los ficheros de linux, cuando se crean quedan con la identificaci�n
del propietario).
Es facil de implementar con triggers. Incluso puedes encontrar ejemplos
de codigo ya construido. Generalmente se le llama "auditoria" (audit en
ingles) sobre una tabla.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
2006/10/24, Milton Galo Patricio <minoztro@gmail.com>:
estimad@s:
He buscado en la documentación (de forma parcial) y no he podido
encontrar alguna sentencia o comando que me pueda retornar el nombre
del usuario que realizo un insert en una determinada tabla (pero de
forma historica), me explico:1.- En el momento que se ingresa un registro se que puedo saber quien
lo está haciendo (a través de un trigger o simplemente consultando la
session activa).2.- Pero en una tabla cuando realizo un select como puedo saber que
usuarios han ingresado cada uno de los registros?Lo anterior se quiere saber para realizar consultas de forma
historica....lo que he estado pensando es hacer un trigger y que se
dispare despues de haber ingresado la tupla y guarde en esa misma
tupla el nombre del usuario (pero me gustaría saber si se puede hacer
de la forma que estoy planteando en el punto dos, es algo parecido a
los ficheros de linux, cuando se crean quedan con la identificación
del propietario).Espero haberme explicado, saludos
--
Milton Inostroza AguileraUna alternativa es que agregues un campo tipo char o varchar con valor por
defecto "USER" para los insert y un trigger para los update;
alternativamente otro datetime para registrar fecha y hora de las
modificaciones.
Alejandro
Alejandro
2006/10/25, Milton Galo Patricio <minoztro@gmail.com>:
Una alternativa es que agregues un campo tipo char o varchar con valor
por
defecto "USER" para los insert y un trigger para los update;
prodías mostrar la forma de hacerlo con el insert?, se te agradecería
mucho.alternativamente otro datetime para registrar fecha y hora de las
modificaciones.Alejandro
Alejandro
--
Milton Inostroza Aguilera
create temporary table temporal
(campo1 int,
campo2 char(10),
usuario varchar(20) default USER,
fechahora timestamp default NOW());
INSERT INTO temporal (campo1,campo2) VALUES (1,'UNO');
SELECT * FROM temporal;
Import Notes
Reply to msg id not found: 172699c50610242125y5bb06354y1b75de3ee428c467@mail.gmail.com
2006/10/24, Milton Galo Patricio <minoztro@gmail.com>:
estimad@s:
He buscado en la documentación (de forma parcial) y no he podido
encontrar alguna sentencia o comando que me pueda retornar el nombre
del usuario que realizo un insert en una determinada tabla (pero de
forma historica), me explico:1.- En el momento que se ingresa un registro se que puedo saber quien
lo está haciendo (a través de un trigger o simplemente consultando la
session activa).
en un trigger puedes utilizar la variable current_user(que seria el usuario
quien está insertando, actualizando, borrando en tu tabla.) e insertarlo en
otra tabla llamada bitacora o algo así, con mas info, como el nombre de la
tabla a que hora el ip de donde se conecto el usuario etc.
--
Linder Poclaba Lázaro.
Desarrollador Key Optimal Solutions - KEYOS.
Usa Software Libre y obtiene tú libertad.