2011/2/22 Melvin Davidson <melvin6925@xxxxxxxxx>
Dmitriy 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.
>Why not use function which returns table and wrap the
>logging (auditing) code in it ?
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).
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.