新しい型の定義を行うことは、結局のところ、その関数の動作の定義を行うということになります。従って、新しい型を定義せずに新しい関数を定義する事は可能ですが、その逆はできません。そこで、この章では新しい型を定義する前に新しい関数を PostgreSQLに追加する方法を記します。
PostgreSQL は4種類の関数を提供します。
問い合わせ言語関数(SQLで書かれた関数)
手続型言語関数(PL/TclやPL/pgSQLなどで書かれた関数)
内部関数
C 言語関数
すべての関数は、基本型、複合型、または変数(引数)の組み合せを受け付けることが可能です。また、すべての関数は基本型、または複合型を返すことが可能です。SQL関数の定義の方法は簡単ですので、そちらから説明します。この章の例はチュートリアルディレクトリの funcs.sqlとfuncs.cでも参照することができます。
この章を全体に関して、その例をより理解するために、 CREATE FUNCTION コマンドのリファレンスページを一読することが有用です。