Thread: Setuid functions

Setuid functions

From
Luis Sousa
Date:
Hi all,

How can I set a function as setuid ?
I take a look at the documetation, on Reference Manual and the only 
reference I saw to it was on SET SESSION AUTHORIZATION.

Thanks in advance.
Luis Sousa



Re: Setuid functions

From
Joe Conway
Date:
Luis Sousa wrote:
> How can I set a function as setuid ?
> I take a look at the documetation, on Reference Manual and the only 
> reference I saw to it was on SET SESSION AUTHORIZATION.

See:
http://www.postgresql.org/docs/view.php?version=7.3&idoc=0&file=sql-createfunction.html

CREATE [ OR REPLACE ] FUNCTION name ( [ argtype [, ...] ] )     RETURNS rettype   { LANGUAGE langname     | IMMUTABLE |
STABLE| VOLATILE     | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT     | [EXTERNAL] SECURITY INVOKER |
[EXTERNAL]SECURITY DEFINER     | AS 'definition'     | AS 'obj_file', 'link_symbol'   } ...     [ WITH ( attribute [,
...]) ]
 


[EXTERNAL] SECURITY INVOKER
[EXTERNAL] SECURITY DEFINER
    SECURITY INVOKER indicates that the function is to be executed with 
the privileges of the user that calls it. That is the default. SECURITY 
DEFINER specifies that the function is to be executed with the 
privileges of the user that created it.
    The key word EXTERNAL is present for SQL compatibility but is 
optional since, unlike in SQL, this feature does not only apply to 
external functions.

HTH,

Joe