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.