CREATE ACCESS METHOD — 新しいアクセスメソッドを定義する
CREATE ACCESS METHODnameTYPEaccess_method_typeHANDLERhandler_function
CREATE ACCESS METHODは新しいアクセスメソッドを作成します。
アクセスメソッドの名前はデータベース内で一意でなければなりません。
スーパーユーザのみが新しいアクセスメソッドを定義できます。
name作成するアクセスメソッドの名前です。
access_method_type
この句では定義するアクセスメソッドの型を指定します。
現在のところ、INDEXだけがサポートされています。
handler_function
handler_functionはアクセスメソッドを表す、事前に登録された関数の名前(スキーマ修飾可)です。
ハンドラ関数はinternal型の引数を1つだけ取るものとして定義される必要があります。
戻り値の型はアクセスメソッドの型に依存し、INDEXのアクセスメソッドの場合は、index_am_handlerでなければなりません。
ハンドラ関数が実装しなければならないC言語でのAPIはアクセスメソッドの型によって変わります。
INDEXのアクセスメソッドのAPIについては第61章に説明されています。
INDEXのアクセスメソッドheptreeをハンドラ関数heptree_handlerで作成するには、次のようにします。
CREATE ACCESS METHOD heptree TYPE INDEX HANDLER heptree_handler;
CREATE ACCESS METHODはPostgreSQLの拡張です。