The ability to write functions in PostgreSQL is an amazing feature. We can perform any task within the scope of the database server. These tasks may be directly related to data manipulation, such as data aggregation and auditing, or they may be used to perform miscellaneous services, such as statistics collection, monitoring, system information acquisition, and job scheduling. In this chapter, our focus will be on the PL/pgSQL language. PL/pgSQL is the default procedural language for PostgreSQL. As we mentioned previously, in Chapter 4, PostgreSQL Advanced Building Blocks, PL/pgSQL is installed in PostgreSQL by default.
PL/pgSQL has been influenced by the PL/SQL language, which is the Oracle stored procedural language. PL/pgSQL is a complete procedural language, with rich control structures and full integration with the PostgreSQL triggers...