PostgreSQL提供四种函数:
查询语言函数(用SQL编写的函数)(Section 38.5)
过程语言函数(例如,用PL/pgSQL或PL/Tcl编写的函数)(Section 38.8)
内部函数(Section 38.9)
C 语言函数(Section 38.10)
每一类函数可以采用基本类型、组合类型或者它们的组合作为参数。此外,每一类函数可以返回一个基本类型或一个组合类型。函数也能被定义成返回基本类型或组合类型值的集合。
很多类函数可以接受或者返回特定的伪类型(例如,多态类型),但是可用的功能会变化。详情可以参考每一种函数的描述。
定义SQL函数最容易,因此我们将从讨论SQL函数开始。大部分SQL函数的概念也能用到其他类型的函数上。
在这一章中,查看CREATE FUNCTION命令的参考页有助于更好地理解例子。这章中的一些例子可以在PostgreSQL源代码发布的src/tutorial
目录中的funcs.sql
和funcs.c
中找到。