• 金仓数据库 KingbaseES 插件参考手册 S (1)


    73. seg

    73.1. 插件seg简介

    seg是KingbaseES的一个扩展插件,这个插件可以为程序提供seg数据类型的使用,是为了表示线段或者浮点区间而实现的一种数据类型。

    seg可以表示区间端点中的不确定性,这使得它对表达实验室测量特别有用。

    • 插件名为 seg

    • 插件版本 V1.3

    73.2. 插件seg加载方式

    KingbaseES数据库默认将它添加到 kingbase.conf 文件的 shared_preload_libraries 中,重启数据库时自动加载。

    shared_preload_libraries = 'seg'
    

    73.3. 插件seg的参数配置

    无需配置任何参数

    73.4. 插件seg的使用方法

    加载seg插件后,程序内可以使用seg数据类型。

    示例:

    -- 创建插件
    
    \c test system
    create extension seg;
    CREATE EXTENSION
    
    -- 使用示例
    
    SELECT '1.0e+7'::seg AS seg;
       seg
    ---------
     1.0e+07
    (1 行记录)
    
    SELECT '0.000000120'::seg AS seg;
       seg
    ----------
     1.20e-07
    (1 行记录)
    
    SELECT '0 .. 1'::seg AS seg;
      seg
    --------
     0 .. 1
    (1 行记录)
    
    SELECT '24 .. 33.20'::seg != '24 .. 33.21'::seg AS bool;
     bool
    ------
     t
    (1 行记录)
    

    73.5. 插件seg卸载方法

    修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库。

    shared_preload_libraries = ''
    

    73.6. 插件seg升级方法

    seg扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级些插件。

    74. security_utils

    74.1. 插件security_utils简介

    security_utils是KingbaseES的一个扩展插件,主要用于支持一些安全方面的功能,目前支持的功能有日志密码脱敏。

    • 插件名为 security_utils

    • 插件版本 V1.0

    74.2. 插件security_utils加载方式

    在使用 security_utils 之前,我们需要将他添加到 kingbase.conf 文件的 shared_preload_libraries 中,并重启 KingbaseES 数据库。

    示例:

    shared_preload_libraries = 'security_utils'
    

    74.3. 插件security_utils的参数配置

    security_utils.password_masking_enable

    启动日志密码脱敏功能,取值范围为 on 或者 off,缺省值为 off。

    show security_utils.password_masking_enable;
     security_utils.password_masking_enable
    ----------------------------------------
     off
    (1 row)
    
    \c - system
    alter system set security_utils.password_masking_enable = on;
    select sys_reload_conf();
    show security_utils.password_masking_enable;
     security_utils.password_masking_enable
    ----------------------------------------
     on
    (1 row)
    

    74.4. 插件security_utils使用方法

    KingbaseES加载 auth_delay 插件,并修改了参数后,当开启DDL日志时,日志中涉及密码的SQL语句可以进行脱敏处理。

    示例

    ---开启密码脱敏
    \c - system
    create extension security_utils;
    alter system set security_utils.password_masking_enable=on;
    select sys_reload_conf();
    
    ---设置日志级别
    alter system set log_statement='ddl';
    select sys_reload_conf();
    
    ---执行user的包含密码的ddl语句
    drop user testpwdtmu1;
    create user testpwdtmu1 with password '12345678ab';
    alter user testpwdtmu1 with password '12345678abc';
    drop user testpwdtmu1;
    
    ---查看sys_log下的日志文件,上述语句password脱敏,以*显示
    ERROR:  role "testpwdtmu1" does not exist
    STATEMENT:  drop user testpwdtmu1;
    LOG:  statement: create user testpwdtmu1 with password '**********';
    LOG:  statement: alter user testpwdtmu1 with password '***********';
    LOG:  statement: drop user testpwdtmu1;
    
    ---清空环境
    alter system set security_utils.password_masking_enable=off;
    select sys_reload_conf();
    drop extension security_utils;
    

    74.5. 插件security_utils卸载方法

    修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库。

    示例:

    shared_preload_libraries = ''
    

    74.6. 插件security_utils升级方法

    security_utils扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级这些插件。

    75. sepapower

    75.1. 插件sepapower简介

    sepapower是KingbaseES的一个扩展插件,主要用于支持三权分立功能。三权分立插件默认加载。

    具体的三权分立功能介绍,参考《 KingbaseES安全指南 》 3.1.2.2 三权分立章节。

    • 插件名为 sepapower

    • 插件版本 V1.0

    75.2. 插件sepapower加载方式

    KingbaseES数据库默认将他添加到 kingbase.conf 文件的 shared_preload_libraries 中,重启数据库时自动加载。

    示例:

    shared_preload_libraries = 'sepapower'
    

    75.3. 插件sepapower的参数配置

    sepapower.separate_power_grant

    是否由sso用户控制使用DCL语句,取值范围为 true 或者 false ,缺省值为 false。

    \c - system
    show sepapower.separate_power_grant;
     sepapower.separate_power_grant
    --------------------------------
     off
    (1 row)
    
    alter system set sepapower.separate_power_grant = on;
        select sys_reload_conf();
    show sepapower.separate_power_grant;
     sepapower.separate_power_grant
    --------------------------------
     on
    (1 row)
    
    ``sepapower.check_noprivileges_grant``
      是否对无授权权限操作进行报错处理,取值范围为 true 或者 false ,缺省值为 false。
    
    show sepapower.check_noprivileges_grant;
     sepapower.check_noprivileges_grant
    ------------------------------------
     off
    (1 row)
    
    alter system set sepapower.check_noprivileges_grant = on;
    select sys_reload_conf();
    show sepapower.check_noprivileges_grant;
     sepapower.check_noprivileges_grant
    ------------------------------------
     on
    (1 row)
    

    75.4. 插件sepapower使用方法

    具体参考《 KingbaseES安全指南 》 3.1.2.2 三权分立章节。

    75.5. 插件sepapower卸载方法

    修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库。

    示例:

    shared_preload_libraries = ''
    

    75.6. 插件sepapower升级方法

    sepapower扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级这些插件。

    76. src_restrict

    76.1. 插件src_restrict简介

    src_restrict是KingbaseES的一个扩展插件,主要用于支持来源限制功能,该功能通过hba的黑白名单来实现。插件src_restrict默认加载。

    • 插件名为 src_restrict

    • 插件版本 V1.0

    76.2. 插件src_restrict加载方式

    KingbaseES数据库默认将他添加到 kingbase.conf 文件的 shared_preload_libraries 中,重启数据库时自动加载。

    示例:

    shared_preload_libraries = 'src_restrict'
    

    76.3. 插件src_restrict的参数配置

    src_restrict.enable

    是否允许使用黑白名单功能,取值范围为 true 或者 false ,缺省值为 true。

    \c - sso
    show src_restrict.enable;
     src_restrict.enable
    ---------------------
     on
    (1 row)
    
    alter system set src_restrict.enable = off;
    select sys_reload_conf();
    show src_restrict.enable;
     src_restrict.enable
    ---------------------
     off
    (1 row)
    

    76.4. 插件src_restrict使用方法

    76.4.1. 系统函数 src_restrict.add_rules

    src_restrict.add_rules(
    filter_type int,
    rule_user text,
    rule_ip text,
    outrule_ip text)
    

    功能说明

    添加来源限制的规则,可通过参数选择配置白名单或黑名单。

    参数说明

    filter_type

    限制规则的类型,0为白名单,1为黑名单。

    rule_user

    限制的用户名,多个用户时需使用逗号分隔,null表示限制所有用户。当用户名中存在特殊字符时,请将该用户名使用双引号括起来,避免用户名识别失败。

    用户名参数最大长度255。

    rule_ip

    限制的IP,多个IP之间需使用逗号分隔,null表示限制所有IP。

    允许使用*号进行IP网段匹配,但网段后不允许出现具体IP,例如192.168.*.123。

    outrule_ip

    不受限制的IP,与rule_ip相同。

    不受限制仅表示该参数与rule_ip的类型相反,例如filter_type为0,则rule_ip为白名单,outrule_ip为黑名单,不影响黑白名单优先级。

    返回值说明

    无返回值

    76.4.2. 系统函数 src_restrict.remove_rules

    src_restrict.remove_rules(
    filter_type int,
    rule_user text,
    rule_ip text)
    

    功能说明

    删除来源限制的规则。

    参数说明

    filter_type

    规则的类型,0为白名单,1为黑名单。

    rule_user

    规则的用户名,多个用户时需使用逗号分隔,null等于all。当用户名中存在特殊字符时,请将该用户名使用双引号括起来,避免用户名识别失败。

    用户名参数最大长度255。

    rule_ip

    规则的IP,多个IP之间需使用逗号分隔,null等于0.0.0.0/0。

    允许使用*号进行IP网段匹配,但网段后不允许出现具体IP,例如192.168.*.123。

    返回值说明

    无返回值

    76.4.3. 系统视图 src_restrict.show_rules

    所有用户都可以通过该视图查看当前的限制规则。

    select * from src_restrict.show_rules;
    

    参数说明

    filter_type

    规则的类型,allow为白名单,reject为黑名单。

    rule_user

    规则的用户名。

    rule_ip

    规则的IP。

    netmask

    规则IP对应的子网掩码。

    76.4.4. 示例

    \c - sso
    --添加对用户u1,IP地址为192.168.1.2的黑名单规则
    select src_restrict.add_rules(1, 'u1', '192.168.1.2', '');
    
    --查看当前黑白名单
    select * from src_restrict.show_rules;
    
    --删除刚添加的规则
    select src_restrict.remove_rules(1, 'u1', '192.168.1.2');
    

    76.5. 插件src_restrict卸载方法

    修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库。

    示例:

    shared_preload_libraries = ''
    

    76.6. 插件src_restrict升级方法

    src_restrict扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级这些插件。

    77. sslinfo

    77.1. 插件sslinfo简介

    sslinfo是KingbaseES的一个扩展插件,sslinfo插件提供当前客户端提供的 SSL 证书的有关信息。如果当前连接不使用 SSL,这个模块就没有用处(大部分函数将返回 NULL)。

    本模块提供的一些信息,也可以使用内置系统视图pg_stat_ssl来获得。

    • 插件名为 sslinfo

    • 插件版本 V1.2

    77.2. 插件sslinfo加载方式

    KingbaseES数据库可将它添加到 kingbase.conf 文件的 shared_preload_libraries 中,重启数据库时自动加载。

    shared_preload_libraries = 'sslinfo'
    

    77.3. 插件sslinfo的参数配置

    无需配置任何参数

    77.4. 插件sslinfo的使用方法

    加载sslinfo插件后,程序可以提供当前客户端提供的 SSL 证书的有关信息。

    示例:

    -- 创建插件
    \c test system
    create extension sslinfo;
    CREATE EXTENSION
    

    77.5. 插件sslinfo卸载方法

    修改 kingbase.conf 文件中 shared_preload_libraries 参数后重启数据库。

    shared_preload_libraries = ''
    

    77.6. 插件sslinfo升级方法

    sslinfo扩展插件通常随着KingbaseES安装包一并升级。通常情况下用户无须单独升级些插件。

  • 相关阅读:
    mySQL—基础SQL语句
    clickhouse学习笔记
    k8s相关命令-命名空间
    阿里云视频点播+项目实战
    c++基础知识-运算符与表达式1(详解)
    最前端|一文详解Vue3.x 中 hooks 函数封装和使用
    8 个最有用的 Flutter 技巧!
    腾讯云微搭低代码平台如何连接其他应用/软件?
    linux高级作业
    自定义中间件
  • 原文地址:https://blog.csdn.net/arthemis_14/article/details/126604127