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
类型的参数,并且它的返回类型取决于访问方法的类型;
对于TABLE
访问方法,它必须是table_am_handler
,而对于INDEX
访问方法,它必须是index_am_handler
。
处理器函数必须实现的 C 级别 API 取决于访问方法的类型。第 61 章中描述了表访问方法的API,而第 62 章中描述了索引访问方法的 API。
用处理器函数heptree_handler
创建一种索引访问方法heptree
:
CREATE ACCESS METHOD heptree TYPE INDEX HANDLER heptree_handler;
CREATE ACCESS METHOD
是一种PostgreSQL扩展。