人大金仓:kingbase_fdw 和 sys_trgm 插件

你说的 人大金仓(KingbaseES)数据库,要安装 kingbase_fdwsys_trgm 插件,可以参考 PostgreSQL 的扩展管理方式,因为 KingbaseES 在很大程度上兼容 PostgreSQL(尤其是 FDW 和扩展插件的使用方式)。不过要注意不同版本(V8、V9)的差异,有些插件可能需要额外安装包。

下面给你分步骤说明:


1. 检查插件是否已包含

先进入数据库,用超级用户(如 system 或 DBA 用户)执行:

\dx

查看已安装扩展;再用:

select * from pg_available_extensions;

查看数据库支持的扩展。如果能找到 kingbase_fdwsys_trgm,说明只需 CREATE EXTENSION 即可。


2. 安装 kingbase_fdw

kingbase_fdw 用于 跨实例访问金仓数据库(类似 PostgreSQL 的 postgres_fdw)。

如果在 pg_available_extensions 里能看到:

create extension kingbase_fdw;

创建完成后,典型配置步骤如下:

-- 创建外部服务器
create server kb_srv foreign data wrapper kingbase_fdw
options (dbname 'remote_db', host '192.168.1.100', port '54321');

-- 为用户建立连接映射
create user mapping for current_user
server kb_srv
options (user 'remote_user', password 'remote_pwd');

-- 导入远程 schema 表
import foreign schema public
from server kb_srv
into public;

这样就能直接查询远程 KingbaseES 实例的数据了。


3. 安装 sys_trgm

sys_trgm 插件和 PostgreSQL 的 pg_trgm 类似,提供基于 三元组(trigram)相似度匹配 的模糊搜索。

安装方法:

create extension sys_trgm;

安装成功后,会得到如下函数/操作符:

  • similarity(text, text):字符串相似度
  • word_similarity(text, text)
  • 操作符:%(相似)、<->(距离)

示例:

-- 计算相似度
select similarity('kingbase', 'kingdom');

-- 使用相似度查询
select * from t1 where col % 'keyword';

可以配合 GIN/GIST 索引加速:

create index idx_t1_col_trgm on t1 using gin (col gin_trgm_ops);

4. 注意事项

  1. 安装路径:某些 KingbaseES 版本默认没带扩展,需要在 $KINGBASE_HOME/share/extension/ 下确认 .sql.control 文件是否存在。

    • kingbase_fdw.control
    • sys_trgm.control
      如果没有,需要联系厂商获取插件包。
  2. 版本差异

    • V8R3 版本里 sys_trgm 名字有时是 pg_trgm,需要确认。
    • V9 开始官方提供了 kingbase_fdw
  3. 权限:必须用超级用户安装扩展(create extension 权限)。


要不我帮你写一个 完整的检查 + 安装 SQL 脚本,你只需执行就能判断是否能直接用 create extension,要不要我整理一下?
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值