★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

37.9. 内部関数

内部関数とは、Cで作成された、PostgreSQLサーバに静的にリンクされた関数です。 関数定義の本体では関数のC言語における名前を指定します。 この名前をSQLでの使用のために宣言される名前と同じにする必要はありません。 (後方互換性のため、C言語関数名がSQL名と同じであるという意味として、空の本体も受け付けられます。)

通常、サーバに存在するすべての内部関数は、データベースクラスタの初期化(18.2参照)の際に宣言されますが、ユーザはCREATE FUNCTIONを使用して、内部関数の別名をさらに作成することができます。 内部関数はinternalという言語名を付けたCREATE FUNCTIONによって宣言されます。 例えば、sqrt関数の別名を作成するには以下のようにします。

CREATE FUNCTION square_root(double precision) RETURNS double precision
    AS 'dsqrt'
    LANGUAGE internal
    STRICT;

(ほとんどの内部関数はstrictとして宣言されることを想定しています。)

注記

定義済みの関数のすべてが上の意味での内部ではありません。 SQLで作成された定義済み関数もあります。