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_bitacora, kx_username, x_tabla_afectada, x_accion, h_hora, d_fecha, x_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_bitacora, kx_username, x_tabla_afectada, x_accion, h_hora, d_fecha, x_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_bitacora, kx_username, x_tabla_afectada, x_accion, h_hora, d_fecha, x_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_bitacora, kx_username, x_tabla_afectada, x_accion, h_hora, d_fecha, x_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'; 
     
 



