Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/08/2009, 13:50
oscar2h
 
Fecha de Ingreso: noviembre-2007
Mensajes: 237
Antigüedad: 17 años, 1 mes
Puntos: 4
ayuda con log

Buenas a todos le cuento que realize un trigger que se ejecuta cuando se reliza algun insert/update/delete en una tabla, registrando la informacion del log en la tabla bitacora, pero nose como puedo hacer para obtener el usuario que esta conectado en el sistema

ak dejo mi trigger

Código PHP:
reate or replace function log_productos()
returns trigger
as
$_$
declare
nombre varchar(30);
estado varchar(30);
begin
    
if(TG_OP 'INSERT'then
        nombre
=new.x_nombre_p;
        
insert into bitacora kn_id_bitacorakx_usernamex_tabla_afectadax_accionh_horad_fechax_descripcion)
        
values (nextval('bitacora_kn_id_bitacora_seq'::regclass),'admin''Productos','Inserta',CURRENT_TIME ,current_date,'Se Inserto nuevo producto: ' ||nombre);
        
end if;
    if(
TG_OP='DELETE')then
        insert into bitacora 
kn_id_bitacorakx_usernamex_tabla_afectadax_accionh_horad_fechax_descripcion)
        
values (nextval('bitacora_kn_id_bitacora_seq'::regclass),'admin''Productos','Elimina',CURRENT_TIME ,current_date,'Se Elimino producto: ' ||old.x_nombre_p);
        
end if;
    if(
TG_OP='UPDATE')then
        nombre
=old.x_nombre_p;
        
estado= new.x_estado_p;
        if(
estado 'Eliminado')then
            insert into bitacora 
kn_id_bitacorakx_usernamex_tabla_afectadax_accionh_horad_fechax_descripcion)
            
values (nextval('bitacora_kn_id_bitacora_seq'::regclass),'admin''Productos','Elimina',CURRENT_TIME ,current_date,'Se Elimino Producto: '||nombre);
            
end if;
        if(
estado 'Libre')then
            insert into bitacora 
kn_id_bitacorakx_usernamex_tabla_afectadax_accionh_horad_fechax_descripcion)
            
values (nextval('bitacora_kn_id_bitacora_seq'::regclass),'admin''Productos','Actualiza',CURRENT_TIME ,current_date,'Se Actualizo Producto: '||nombre);
            
end if;
        
end if;
return 
null;
end;
$_language 'plpgsql'
de antemano gracias