PostgreSQL function parameters
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.
Function authorization-related parameters
The first parameters are related to security, and can have one of the following values:
SECURITY DEFINER
SECURITY INVOKER
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 the CRUD operations in the function; otherwise, the function will raise an error. The SECURITY INVOKER
functions are very useful in defining triggers, or for promoting the user to perform tasks only supported by the function.
To test these security...