openGauss SQL语法 —CREATE ACCESS METHOD

CREATE ACCESS METHOD

功能描述

在当前数据库中创建一种新的访问方法,访问方法名称在数据库中必须唯一,只有超级用户可以定义新的访问方法。

注意事项

  • 访问方法当前仅支持INDEX类型。
  • 一个索引访问方法的处理器函数必须被声明为接受单一的类型为internal类型的参数并且返回伪类型index_am_handler。该参数只是被用来防止从 SQL 命令直接调用处理器函数。该函数的结果必须是一个已经 palloc 过的IndexAmRoutine类型结构,它包含核心代码使用该索引访问方法所需的所有信息。IndexAmRoutine结构(也被称为访问方法的API 结构)中的域指定了该访问方法的各种固定性质,例如它是否支持多列索引。同时,它包含用于该访问方法的支持函数的指针,这些函数会完成真正访问索引的工作(支持函数是纯 C 函数)。
  • 新增自定义的访问方法,需要参考内置访问方法,到index.h和transformIndexStmt中增加方法支持(故不建议用户SQL命令中执行)。

语法格式

创建自定义访问方法。

CREATE ACCESS METHOD name TYPE INDEX HANDLER handler_function

参数说明

  • name

    新创建的访问方法的名称。

  • handler_function

    handler_function是一个之前已注册的函数的名称(可能被模式限定),该函数表示要创建的访问方法。处理器函数必须被声明为接收一个单一的internal类型的参数,并且它的返回类型取决于访问方法的类型(INDEX访问方法,它必须是index_am_handler)。 处理器函数必须实现的 C 级别 API 取决于访问方法的类型。

示例

-   用处理器函数ivfflathandler创建一种索引访问方法ivfflat:
CREATE ACCESS METHOD ivfflat TYPE INDEX HANDLER ivfflathandler;

相关链接

DROP ACCESS METHOD

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值