ITPub博客

首页 > 数据库 > > GaussDB 100 类型映射简介

GaussDB 100 类型映射简介

作者:GaussDB_数据库 时间:2020-02-21 10:22:02 0 删除 编辑

类型映射

GaussDB 100支持数据类型映射功能。类型映射主要应用于当业务无法修改表定义的情况下,数据库根据用户定义的规则,将NUMBER类型替换为需要的数据类型。

注意事项

  • 类型映射功能仅作用于执行建表或者修改表定义,执行DDL语句的阶段。

  • 仅在USE_NATIVE_DATATYPE参数设置为TRUE时,类型映射功能生效。

  • 新增、修改映射文件,数据库重启生效。

操作步骤

  1. 在配置文件zengine.ini中增加配置项TYPE_MAP_FILE=<filename>。


    <filename>为类型映射文件,默认读取路径为${GSDB_DATA}/cfg,也支持指定为绝对路径。


  2. 在类型映射文件中,按照用户添加类型映射规则。


    用户名支持简易*模糊匹配。类型映射文件格式如下所示。

    [username]
    old_datatype=map_datatype

    详细规则如下表所示。

    表1 数据映射表

    映射方式

    原有数据类型

    映射的数据类型

    自动类型映射

    NUMBER(p),p的取值范围为[1,2]

    TINYINT

    NUMBER(p),p=4

    SMALLINT

    NUMBER(p),p的取值范围为[6,9]

    INTEGER

    NUMBER(p),p的取值范围为[12,18]

    BIGINT

    指定类型映射

    NUMBER(p),p=3

    TINYINT

    NUMBER(p),p=5

    SMALLINT

    NUMBER(p),p=10

    INTEGER

    NUMBER(p),p=19

    BIGINT


  • 整型的数据类型,支持自动类型映射。边界值需要根据实际应用场景,在映射规则文件中显式配置以启用“指定类型映射”能力。

  • NUMBER(p,s)(s>0)数据类型,由于涉及精度,均需要通过显式指定类型映射的方式配置。

示例

  1. 在zengine.ini文件所在目录下新建文件type_map_file.ini,在zengine.ini文件中新增配置项TYPE_MAP_FILE,配置映射文件路径为“type_map_file.ini”。

    vim zengine.ini
    TYPE_MAP_FILE = type_map_file.ini
  2. 修改映射文件type_map_file.ini,指定映射类型。


    为用户user1设置映射规划,NUMBER(3)映射为INTEGER类型,NUMBER(11)映射为BIGINT类型。

    为用户user2设置映射规划,NUMBER(5)映射为INTEGER类型,NUMBER(25,5)映射为DOUBLE类型。
    vim type_map_file.ini
    [user1]
    number(3)=integer
    number(11)=bigint
    [user2]
    number(5)=integer
    number(25,5)=double
  3. 重启数据库,映射规则生效。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3145569/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19192