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