PostgreSQL function parameters
In Chapter 04, 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 , when functions are called, they are executed within a security context that determines their privileges. The following options controls the function privileges context:
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 that the function implements; otherwise, the function will raise an error. The SECURITY DEFINER
 functions...