Search Postgresql Archives

Re: Private or publice function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nirmalya Lahiri wrote:
Thanks Richard,
 for your reply. Now I am explaining you what I want.
Let I have 4
functions......function_1(),function_2(),function_3(),function_4().
[snip]
 Now after creating these functions, I can easily call every function
from psql prompt. But I want to encapsulate function_2() and
function_3() withen function_1(), so that no one can call
function_2() and function_3() from psql prompt and from function_4(),
only from withen the function_1() I can call function_2() and
function_3().

Is it possible in PostgreSQL?

Not elegantly - plpgsql only has PostgreSQL's naming and permissions structure to use. Perhaps the simplest is to create a schema "private" only accessible to user "U1". Place function2(),function(3) in schema "private".
Place function1() in the public schema, making sure you create it as user "U1" and mark it "SECURITY DEFINER".


So - everyone can execute function1(), but only user U1 can run function2()/3(). Since function1() runs as user U1 everything should just work.

--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux