[eluser]centurionas[/eluser]
Hi, I will share my approach to this problem.
Every monitored table needs several things: 1) additional "user_id" column for storing last activity user 2) log table with some columns like "date", user_id, "operation_type" 3) triger before insert, update or delete on that table. Though, you might have one "special" log table for all monitored tables.
During every insert, update or delete on table, you just append logged app user id into sql statement just like ordinary column. The log into a special log table will be made through the trigger of the table that will perform insert to the log table (date, user_id, operation_type). In this approach you do not need additional db user for each app user.