<para>
PL/Perl is a loadable procedural language that enables you to write
- <productname>PostgreSQL</productname> functions in the
+ <productname>PostgreSQL</productname> functions and procedures in the
<ulink url="https://www.perl.org">Perl programming language</ulink>.
</para>
<para>
The main advantage to using PL/Perl is that this allows use,
- within stored functions, of the manyfold <quote>string
+ within stored functions and procedures, of the manyfold <quote>string
munging</quote> operators and functions available for Perl. Parsing
complex strings might be easier using Perl than it is with the
string functions and control structures provided in PL/pgSQL.
<itemizedlist>
<listitem>
<para>
- can be used to create functions and triggers,
+ can be used to create functions, procedures, and triggers,
</para>
</listitem>
<listitem>
</listitem>
<listitem>
<para>
- inherits all user-defined types, functions, and operators,
+ inherits all user-defined types, functions, procedures, and operators,
</para>
</listitem>
<listitem>
<para>
The <application>PL/Python</application> procedural language allows
- <productname>PostgreSQL</productname> functions to be written in the
+ <productname>PostgreSQL</productname> functions and procedures to be written in the
<ulink url="https://www.python.org">Python language</ulink>.
</para>
<productname>PostgreSQL</productname> database system
that enables the <ulink url="https://www.tcl.tk/">
Tcl language</ulink> to be used to write
- <productname>PostgreSQL</productname> functions.
+ <productname>PostgreSQL</productname> functions and procedures.
</para>
<!-- **** PL/Tcl overview **** -->
The <firstterm>Server Programming Interface</firstterm>
(<acronym>SPI</acronym>) gives writers of user-defined
<acronym>C</acronym> functions the ability to run
- <acronym>SQL</acronym> commands inside their functions.
+ <acronym>SQL</acronym> commands inside their functions or procedures.
<acronym>SPI</acronym> is a set of
interface functions to simplify access to the parser, planner,
and executor. <acronym>SPI</acronym> also does some