[Pgsql-ayuda] Funciones, nuevamente.....

Alvaro Herrera alvherre@dcc.uchile.cl
Fri, 18 Jul 2003 17:55:42 -0400


On Thu, Jul 17, 2003 at 11:57:08PM +0000, GUSTAVO MARTIN OCAMPO wrote:

> Mi pregunta esta referida a la ejecución de una función pero teniendo en 
> cuenta  de si algun usuario de la base de datos es dueño de esa función.
> Como funciona esto?
> esta relacionado con las sentencias "...SECURITY INVOKER | [EXTERNAL] 
> SECURITY DEFINER"?

Si.  Una función definida como "SECURITY INVOKER" (el valor por defecto,
AFAIK), se ejecuta con los privilegios del usuario que la ejecuta.  Una
función definida como "SECURITY DEFINER" se ejecuta con los privilegios
del usuario que la definió.

Úsese sabiamente.

EXTERNAL no tiene efecto; es sólo para soportar la sintaxis de SQL99.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La libertad es como el dinero; el que no la sabe emplear la pierde" (Alvarez)