PostgreSQLは4種類の関数を提供します。
問い合わせ言語関数(SQLで作成された関数)(35.4. 問い合わせ言語(SQL)関数)
手続型言語関数(PL/pgSQLやPL/Tclなどで作成された関数)(35.7. 手続き型言語関数)
内部関数(35.8. 内部関数)
C言語関数(35.9. C言語関数)
すべての関数は、基本型、複合型、またはこの組み合わせを引数(パラメータ)として受け付けることが可能です。 また、すべての関数は基本型または複合型を返すことが可能です。 関数は、基本型の集合または複合型の集合を返すように定義することもできます。
多くの関数は(多様型のような)特定の疑似型を引数としたり返したりすることができます。 しかし、利用できる機能は様々です。 詳細は各関数の種類の説明を参照してください。
SQL関数の定義の方法が最も簡単ですので、そちらから説明します。 SQL関数にある概念のほとんどは、他の種類の関数にも適用できます。
本章の全体に関して、その例をより理解するために、CREATE FUNCTIONコマンドのマニュアルページを一読することが有用です。
本章の例のいくつかはPostgreSQLソース配布物内のsrc/tutorial
ディレクトリにあるfuncs.sql
とfuncs.c
でも参照することができます。