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

From Dmitriy Igrishin
Subject Re: why is there no TRIGGER ON SELECT ?
Date
Msg-id AANLkTimOBVvE4yVkVqO=H0q92SFsYs80w64ZNC7_Us-C@mail.gmail.com
Whole thread Raw
In response to Re: why is there no TRIGGER ON SELECT ?  (Melvin Davidson <melvin6925@yahoo.com>)
List pgsql-general


2011/2/22 Melvin Davidson <melvin6925@yahoo.com>
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.
Yes, you can't. But why do you need a *trigger* function and trigger ?
Why not select via regular function ?

CREATE OR REPLACE FUNCTION public.test_select()
 RETURNS TABLE(id integer, name text)
 LANGUAGE sql
 SECURITY DEFINER -- note here!
AS $function$
SELECT 1, 'dima' UNION ALL
SELECT 2, 'melvin'; -- just for example I use simple union query
$function$

You can revoke SELECT privileges on table and
give to some users privileges on function  (to
prevent them from selecting from table directly).


Melvin Davidson






--
// Dmitriy.


pgsql-general by date:

Previous
From: Melvin Davidson
Date:
Subject: Re: why is there no TRIGGER ON SELECT ?
Next
From: "David Johnston"
Date:
Subject: Re: why is there no TRIGGER ON SELECT ?