2. 扩展插件概述
KingbaseES开发了大量的扩展包。如:dbms_output,dbms_ddl,dbms_metadata 等。在日常使用过程中,如果功能在KingbaseES中没有默认支持,可以在操作系统中进入 $KINGBASE_HOME/ Server/share/extension目录,搜索扩展sql文件来确认是否已有相应的扩展。也可以查询当前版本支持的扩展插件:
select * from sys_available_extensions;
执行 \dx 查询当前已安装的扩展插件:
test=# \dx 已安装扩展列表 名称 | 版本 | 架构模式 | 描述 ---------------------+------+------------+------------------------------------------------ dbms_ddl | 1.0 | sys | DBMS_DDL system package dbms_output | 1.0 | sys | DBMS_OUTPUT system package dbms_utility | 1.0 | sys | dbms_utility extension package kdb_license | 1.0 | pg_catalog | kdb_license extension kdb_oracle_datatype | 1.0 | sys | kdb_oracle_datatype extension kdb_schedule | 1.0 | sys | A KingbaseES job scheduler
表 表 2.1 列出了KingbaseES所提供的扩展插件。后文为每个扩展插件的详细文档。
插件名称 | 用途 |
---|---|
让用户能验证关系逻辑结构的一致性 | |
登录失败延时 | |
自动记录SQL语句的执行计划,并写入到KingbaseES日志文件中 | |
程序崩溃时获取并打印输出堆栈信息 | |
允许物理备份sys_basebackup连接到目标数据库,执行物理备份操作 | |
提供了bloom过滤器索引 | |
提供了B树等价行为的GIN操作符类 | |
提供了B树等价行为的GIST操作符类 | |
支持大小写不敏感的字符串类型citext及其相关操作 | |
实现列式存储及压缩 | |
实现了一种数据类型cube来表示多维立方体 | |
支持在一个数据库会话中连接到其他Kingbase数据库 | |
创建一个PL/SQL包体、函数、过程。 | |
对CLOB/BLOB大对象就行的操作 | |
创建特定类型对象的DDL语句 | |
提供DES或3DES算法进行数据的加解密 | |
提供将文本行写入缓冲区、供以后提取和显示的功能 | |
提供一个随机数或者字符的生成器 | |
实现对session中内容的操作 | |
定义了一系列的过程和函数,专门用于动态SQL语句的操作 | |
提供一些具有通用功能的子程序 | |
支持了对于数字的text类型搜索字典 | |
提供一个具有附加全文搜索功能的字典模板 | |
支持了与地球表面相关的数据操作 | |
用来访问存储在外部文件中的数据 | |
禁止通过copy执行操作系统命令 | |
流版式文件内容抽取 | |
流版式文件内容抽取 | |
提供了两个字符串之间的编辑距离的相关函数 | |
支持hstore类型 | |
KingbaseES的http客户端,允许在数据库内检索网页 | |
管理和检查用户口令的有效期 | |
提供了一个整数聚合器和一个枚举器,作为内置函数的兼容性封装器提供 | |
intarray | 为操作整数的null-free数组提供一些有用的函数和操作符。 |
为国际产品编号标准提供数据类型 | |
提供如rc4,sm3,sm4等加密函数的访问接口 | |
用于访问外部数据库对象 | |
兼容mysql的日期相关的函数 | |
优化EXISTS子链接,生成执行效率更高的执行计划 | |
支持flashback 技术 | |
初始化内置 ,基本类型 | |
初始化内置 ,兼容Oracle数据类型 | |
初始化内置 ,兼容Oracle日期date数据类型 | |
实现对oracle一些函数和包的兼容 | |
实现对raw数据类型的操作 | |
实现资源组功能 | |
基于后台进程来实现自动作业功能 | |
初始化内置 ,基本类型,支持tinyint类型 | |
工具函数,包括xml,字符操作等 | |
用来访问存储在外部Kingbase服务器中的数据 | |
可以查询kingbase数据库的构建版本 | |
块级别增量备份引擎 | |
提供了触发器在引用了lo数据的行被修改或删除时自动调用lo_unlink | |
包含ltree和lquery类型的实现,为树状结构组织的数据提供索引和查询 | |
在本地和所有后端中添加有关内存上下文的统计报告 | |
支持OWA_UTIL系统包中的WHO_CALLED_ME过程 | |
用来访问存储在外部Mysql数据库中的数据 | |
用来访问存储在外部Oracle数据库中的数据 | |
提供函数可以查看数据库页面的内容 | |
管理和检查用户口令的复杂度 | |
管理用户口令历史,检查用户更新的口令 | |
pg_partman | 分区管理 |
PG语法调试 | |
oracle语法调试 | |
收集分析器(性能)数据以提高性能或确定PL/SQL应用程序的代码覆盖率 | |
repmgr | 详见 repmgr |
实现对超级用户权限进行限制 | |
在本地库内使角色失效,使失效的角色再生效 | |
RUM索引类型 | |
支持安全方面的功能 | |
为程序提供seg数据类型的使用 | |
三权分立 | |
来源限制 | |
来提供当前客户端提供的 SSL 证书的有关信息 | |
进一步划分安全员和管理员权限,满足特殊场景三权分立需求 | |
初始化内置 ,数据脱敏。参见 数据脱敏 | |
账户异常登录锁定和账户登录信息显示 | |
实时检查共享缓冲区工具 | |
快速加载数据的命令行工具 | |
提供了查看FSM页面的方法 | |
用于全文搜索的中文分词插件 | |
历史会话分析工具 | |
负载信息记录和保存,并提供相关的性能报告 | |
将关系数据载入到操作系统缓冲区或者 KES 缓冲区,实现数据预热 | |
保存 where 和 join 子句中的谓词统计信息,生成索引建议 | |
从死元组中读取数据 | |
针对表空间限额的操作 | |
无锁清理空闲表空间的工具 | |
sys_stat_statement | 追踪所有 SQL 语句的执行统计信息 |
提供基于 trigram 匹配的字母数字文本相似度的函数和操作符 | |
提供了查看表的VM页数据和页级别可见性的函数 | |
初始化内置 ,审计。详见 数据库审计 | |
实现数据加解密 | |
初始化内置 ,强制访问控制。 参见 管理强制访问控制 | |
实现对数据库系统ANY权限的扩展 | |
资源申请和释放时清除介质上的残留信息以达到客体重用的要求 | |
sysrowlocks | 提供了一个函数来显示指定表的行级锁信息 |
sysstattuple | 提供了多种函数来获得关系中元组的统计信息 |
返回多行集合的函数 | |
提供了一个触发器函数,用于监听所附着表的任意改变 | |
用于连接使用TDS协议的数据库如Sybase,Microsoft SQL Server | |
提供了表采样方法SYSTEM_ROWS | |
提供了表采样方法SYSTEM_TIME | |
提供了一个能从词位中移除重音的文本搜索字典 | |
补充了一些对于文件操作的函数 | |
uuid生成工具 | |
提供从WAL日志解析REDO/UNDO SQL语句的功能 | |
提供XPath查询和XSLT功能函数 | |
用于全文搜索的中文分词插件 |
一个扩展包通常需要一个包含创建该扩展的对象的SQL命令的脚本文件以及一个指定扩展本身的一些基本属性的控制文件。如果扩展包括C代码,通常还有一个C代码编译而成的共享库文件。控制文件和脚本默认被放在数据库的安装目录下的 Server/share/extension 目录中,C 编译的共享库文件则放在 Server/lib 中。