Tom, * Tom Lane (t...@sss.pgh.pa.us) wrote: > I'm not exactly sure who should be allowed to > apply the "RUN AS other-user" option to a function, but I can see the > possible value of separating the right to modify the function's > definition from the user the function runs as.
When it comes to 'who can set it'- my first reaction is "the owner". The next question is- what rights does the owner have to have on the "other-user" role, and I would suggest "membership". This could be extremely useful for non-C functions as well, consider this: I'm Bob. I have an 'audit' role which is granted to me. I'd like to create a function that runs as 'audit' (which has various rights granted to it which are less than the rights of 'Bob'), but which only I can modify. If I've been granted the 'audit' role, then I can create a function which is owned by 'audit' (set role audit; create function ...), and I could make it security definer, therefore I should be able to create a function which is owned by me and runs as 'audit'. Writing this a bit off-the-cuff, so apologies if there are obvious flaws in this logic. :) Thanks, Stephen
signature.asc
Description: Digital signature