https://help.kingbase.com.cn/v8.6.7.12/development/sql-plsql/ref-extended-plug-in/plug-in.html
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
表 plug-TABLE
列出了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客户端,允许在数据库内检索网页 |
|
管理和检查用户口令的有效期 |
|
提供了一个整数聚合器和一个枚举器,作为内置函数的兼容性封装器提供 |
|
为操作整数的null-free数组提供一些有用的函数和操作符。 |
|
为国际产品编号标准提供数据类型 |
|
提供如rc4,sm3,sm4等加密函数的访问接口 |
|
提供了一个函数来显示指定表的行级锁信息 |
|
提供了多种函数来获得关系中元组的统计信息 |
|
用于访问外部数据库对象 |
|
兼容mysql的日期相关的函数 |
|
优化EXISTS子链接,生成执行效率更高的执行计划 |
|
支持flashback 技术 |
|
初始化内置 ,基本类型 |
|
初始化内置 ,兼容Oracle数据类型 |
|
初始化内置 ,兼容Oracle日期date数据类型 |
|
实现对oracle一些函数和包的兼容 |
|
用于保护database、schema、table等逻辑对象不被删除 |
|
实现对raw数据类型的操作 |
|
实现资源组功能 |
|
基于后台进程来实现自动作业功能 |
|
初始化内置 ,基本类型,支持tinyint类型 |
|
工具函数,包括xml,字符操作等 |
|
Oracle兼容XMLTYPE类型和相关的操作函数 |
|
用来访问存储在外部KingbaseES服务器中的数据 |
|
可以查询KingbaseES数据库的构建版本 |
|
块级别增量备份引擎 |
|
提供了触发器在引用了lo数据的行被修改或删除时自动调用lo_unlink |
|
包含ltree和lquery类型的实现,为树状结构组织的数据提供索引和查询 |
|
在本地和所有后端中添加有关内存上下文的统计报告 |
|
用来访问存储在外部Mysql数据库中的数据 |
|
用来访问存储在外部Oracle数据库中的数据 |
|
支持OWA_UTIL系统包中的WHO_CALLED_ME过程 |
|
提供函数可以查看数据库页面的内容 |
|
管理和检查用户口令的复杂度 |
|
管理用户口令历史,检查用户更新的口令 |
|
分区管理 |
|
PG语法调试 |
|
oracle语法调试 |
|
收集分析器(性能)数据以提高性能或确定PL/SQL应用程序的代码覆盖率 |
|
详见《KingbaseES主备和读写分离集群使用手册》 repmgr |
|
实现对超级用户权限进行限制 |
|
在本地库内使角色失效,使失效的角色再生效 |
|
RUM索引类型 |
|
支持安全方面的功能 |
|
为程序提供seg数据类型的使用 |
|
三权分立 |
|
来源限制 |
|
来提供当前客户端提供的 SSL 证书的有关信息 |
|
进一步划分安全员和管理员权限,满足特殊场景三权分立需求 |
|
初始化内置 ,数据脱敏。参见 数据脱敏 |
|
账户异常登录锁定和账户登录信息显示 |
|
实时检查共享缓冲区工具 |
|
快速加载数据的命令行工具 |
|
提供了查看FSM页面的方法 |
|
用于全文搜索的中文分词插件 |
|
历史会话分析工具 |
|
负载信息记录和保存,并提供相关的性能报告 |
|
将关系数据载入到操作系统缓冲区或者KingbaseES缓冲区,实现数据预热 |
|
保存 where 和 join 子句中的谓词统计信息,生成索引建议 |
|
从死元组中读取数据 |
|
针对表空间限额的操作 |
|
无锁清理空闲表空间的工具 |
|
追踪所有 SQL 语句的执行统计信息 |
|
提供基于 trigram 匹配的字母数字文本相似度的函数和操作符 |
|
提供了查看表的VM页数据和页级别可见性的函数 |
|
初始化内置 ,审计。参见 数据库审计 |
|
实现数据加解密 |
|
初始化内置 ,强制访问控制。 参见 管理强制访问控制 |
|
实现对数据库系统ANY权限的扩展 |
|
资源申请和释放时清除介质上的残留信息以达到客体重用的要求 |
|
返回多行集合的函数 |
|
提供了一个触发器函数,用于监听所附着表的任意改变 |
|
用于连接使用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 中。