PostgreSQL 提供四种类型的函数:
查询语言函数(用 SQL 写的函数) (Section 32.4)
过程语言函数(用诸如 PL/pgSQL 或 PL/Tcl 这样的语言写的函数) (Section 32.7)
内部函数(Section 32.8)
C 语言函数(Section 32.9)
每种函数都可以以一个基本类型或,复合类型或是两者的某种组合作为参数。 另外,每种函数都可以返回一个基本类型或一个复合类型值。 函数也可以定义为返回基本类型或者复合类型的集合。
许都类型的函数可以接受或者返回某种类型的伪类型(比如多态类型), 但是可用的东西是变化的。参考每种类型的函数的描述获取更多细节。
定义 SQL 函数更容易些,所以我们将从这里开始。 大多数用于 SQL 函数的概念将和其它类型的函数一致。
综观全章,如果你阅读一下 CREATE FUNCTION 的手册页应该会对你理解本章的例子很有帮助。 本章的例子还可以在PostgreSQL 源代码发布的 src/tutorial 目录里的 funcs.sql 和 funcs.c 里找到。