Dave and Dmitriy,
I know a function can be used, but the point is to log a table whenever
"someone else" does a SELECT on it.
It cannot be depended on that a user will include that (or any specific
function in a SELECT. iow, when any user does "SELECT ... FROM tablex;" then
logging should occur.
That cannot happen unless there a trigger of the form:
CREATE TRIGGER tg_log_table AFTER SELECT
ON tablex FOR EACH STATEMENT
EXECUTE PROCEDURE log_table();
And yes, I know access the to table is restricted, but that is also not the
point. Suppose an application requires that a user/client be charged for each
time they access certain data?
The point, and question is, not how to work around the problem, but rather, why
cannot this functionality be implemented in triggerts and rules.
Melvin Davidson
Dmitriy
>Why not use function which returns table and wrap the
>logging (auditing) code in it ?
Because to use a trigger function, you need a trigger, and as previously
stated, you cannot have a trigger on select. The same applies for a rule.Melvin
Davidson