Re: why is there no TRIGGER ON SELECT ? - Mailing list pgsql-general

From Melvin Davidson
Subject Re: why is there no TRIGGER ON SELECT ?
Date
Msg-id 944362.71173.qm@web121820.mail.ne1.yahoo.com
Whole thread Raw
In response to Re: why is there no TRIGGER ON SELECT ?  ("David Johnston" <polobo@yahoo.com>)
Responses Re: why is there no TRIGGER ON SELECT ?
Re: why is there no TRIGGER ON SELECT ?
List pgsql-general
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

 


pgsql-general by date:

Previous
From: "Jaiswal Dhaval Sudhirkumar"
Date:
Subject: Re: Mysql to Postgresql
Next
From: Thomas Kellerer
Date:
Subject: Re: why is there no TRIGGER ON SELECT ?