2011/2/22 Melvin Davidson <melvin6...@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.

Reply via email to