In Chapter 4, PostgreSQL Advanced Building Blocks, we discussed the function categories immutable, stable, and volatile. In this section, we will continue with other function options. These options are not PL/pgSQL language-specific.
The first parameters are related to security, and can have one of the following values:
The default value for this option is
SECURITY INVOKER, which indicates that the function will be executed with the privileges of the user who calls it. The
SECURITY DEFINER functions will be executed using the privileges of the user who created it. For the
SECURITY INVOKER functions, the user must have the permissions to execute ...