Function returns null if any call argument is null. In that
case the function won't actually be called at all. Functions
that are not "strict" must be prepared to handle
null inputs.

proretset

bool

Function returns a set (i.e., multiple values of the specified
data type)

provolatile

char

provolatile tells whether the function's
result depends only on its input arguments, or is affected by outside
factors.
It is i for "immutable" functions,
which always deliver the same result for the same inputs.
It is s for "stable" functions,
whose results (for fixed inputs) do not change within a scan.
It is v for "volatile" functions,
whose results may change at any time. (Use v also
for functions with side-effects, so that calls to them cannot get
optimized away.)

This tells the function handler how to invoke the function. It
might be the actual source code of the function for interpreted
languages, a link symbol, a file name, or just about anything
else, depending on the implementation language/call convention.

probin

bytea

Additional information about how to invoke the function.
Again, the interpretation is language-specific.

proacl

aclitem[]

Access privileges

prosrc contains the function's C-language
name (link symbol) for compiled functions, both built-in and
dynamically loaded. For all other language types,
prosrc contains the function's source
text. probin is unused except for
dynamically-loaded C functions, for which it gives the name of the
shared library file containing the function.