暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MOT的使用介绍

MTL 2023-01-19
1419

使用MOT

# openGauss

  1. 授予用户权限

    以授予数据库用户对MOT存储引擎的访问权限为例。每个数据库用户仅执行一次,通常在初始配置阶段完成。

    说明: MOT通过外部数据封装器(Foreign Data Wrapper,FDW)机制与openGauss数据库集成,所以需要授权用户权限。

    要使特定用户能够创建和访问MOT(DDL、DML、SELECT),以下语句只执行一次:

    GRANT USAGE ON FOREIGN SERVER mot_server TO <user>;
    

    所有关键字不区分大小写。

  2. 创建/删除MOT

    只有MOT中的创建和删除表语句与openGauss中基于磁盘的表的语句不同。SELECT、DML和DDL的所有其他命令的语法对于MOT表和openGauss基于磁盘的表是一样的。

    • 创建MOT:

      create FOREIGN table test(x int) [server mot_server];
      
    • 以上语句中:

      • 始终使用FOREIGN关键字引用MOT。
      • 在创建MOT表时,[server mot_server]部分是可选的,因为MOT是一个集成的引擎,而不是一个独立的服务器。
      • 上文以创建一个名为test的内存表(表中有一个名为x的整数列)为例。在下一节(创建索引)中将提供一个更现实的例子。
      • 如果postgresql.conf中开启了增量检查点,则无法创建MOT。因此请在创建MOT前将enable_incremental_checkpoint设置为off。
    • 删除名为test的MOT:

      drop FOREIGN table test;
      
  3. 为MOT创建索引

    支持标准的openGauss创建和删除索引语句。

    例如:

    create index  text_index1 on test(x) ;
    

    创建一个用于TPC-C的ORDER表,并创建索引:

    create FOREIGN table bmsql_oorder ( 
      o_w_id       integer      not null, 
      o_d_id       integer      not null, 
      o_id         integer      not null, 
      o_c_id       integer not null, 
      o_carrier_id integer,          
      o_ol_cnt     integer, 
      o_all_local  integer, 
      o_entry_d    timestamp, 
      primary key (o_w_id, o_d_id, o_id) 
    ); 
    create index  bmsql_oorder_index1 on bmsql_oorder(o_w_id, o_d_id, o_c_id, o_id) ;
    

    说明: 在MOT名字之前不需要指定FOREIGN关键字,因为它仅用于创建和删除表的命令。



来源: openGauss社区文档资料

最后修改时间:2023-03-30 18:21:52
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论