Обсуждение: Authorized privileges when calling a procedure
Hi,
I have another question. It appears that when you create a procedure and grant access on it to another user, the user must have privileges to all objects that the procedure references. Can someone confirm this, and is there a way to change the privilege authorization to the user that defined the procedure?
Thanks in advance,
Jed S. Walker
"Walker, Jed S" <Jed_Walker@cable.comcast.com> writes:
> I have another question. It appears that when you create a procedure and
> grant access on it to another user, the user must have privileges to all
> objects that the procedure references. Can someone confirm this, and is
> there a way to change the privilege authorization to the user that defined
> the procedure?
Mark the function as SECURITY DEFINER --- this is like setuid programs
in Unix.
(No, it's not a very intuitive label for the behavior, but it's what
the SQL spec says to use.)
regards, tom lane
Great, that's exactly what I need.
Thanks!
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Friday, April 22, 2005 9:04 AM
To: Walker, Jed S
Cc: 'pgsql-novice@postgresql.org'
Subject: Re: [NOVICE] Authorized privileges when calling a procedure
"Walker, Jed S" <Jed_Walker@cable.comcast.com> writes:
> I have another question. It appears that when you create a procedure
> and grant access on it to another user, the user must have privileges
> to all objects that the procedure references. Can someone confirm
> this, and is there a way to change the privilege authorization to the
> user that defined the procedure?
Mark the function as SECURITY DEFINER --- this is like setuid programs in
Unix.
(No, it's not a very intuitive label for the behavior, but it's what the SQL
spec says to use.)
regards, tom lane