报告pg_jieba中的bug

PostgreSQL是多进程,pg_jieba的字典数据在每个进程中都加载了比较耗费内存,个人觉得字典数据应该加载在share_buffers中.

使用字典中不存在的关键字"新华三" 证明如下:

1 启动二个psql客户端,分别为A和B,在A和B中分别执行

sql 复制代码
select to_tsvector('public.jiebacfg', '新华三');

输出,A和B结果完全相同

bash 复制代码
   to_tsvector
-----------------
 '三':2 '新华':1
(1 行记录)

2 添加关键字

在服务器上修改文件jieba_user.dict

bash 复制代码
sudo vim jieba_user.dict

在用户字典中添加关键字"新华三"

bash 复制代码
云计算
韩玉鉴赏
蓝翔 nz
区块链 10 nz
新华三

3 终端A

sql 复制代码
--重新加载字典
select jieba_reload_dict();

select to_tsvector('public.jiebacfg', '新华三');

终端A输出

bash 复制代码
 to_tsvector
-------------
 '新华三':1
(1 行记录)

4 终端B

sql 复制代码
--因为已经在终端A中加载过字典了,所以终端B中不再加载
select to_tsvector('public.jiebacfg', '新华三');

终端B输出

bash 复制代码
   to_tsvector
-----------------
 '三':2 '新华':1
(1 行记录)

终端A和终端B中的结果完全不同

5 解决方法:

1 重启服务器,但生产环境不允许这么做;

2 修改字典后在每个连接在开始分词之前都需要重新加载字典;

相关推荐
冰水不凉21 小时前
CodeX 在 Ubuntu 下 vscode 插件的 bug 问题
vscode·ubuntu·bug
flower_drop1 天前
基于 WebUSB 与 CDP:在浏览器端实现 Android 设备通信与无证书抓包实践
android·chrome·测试工具·adb·bug·edge浏览器
lytao1232 天前
90% 覆盖率不等于没 Bug:用风险配置测试组合
前端·javascript·bug·软件工程
Joker-Full-stack2 天前
higress Grafana生产事故复盘:Loki 2.9 WAL 竞态 Bug 导致 5 天审计日志消失
bug·grafana·higress
我星期八休息5 天前
软件测试—从认识到BUG
考研·安全·bug
hulihutu446 天前
拒绝延期、bug、货不对板:2026 管理系统定制开发落地保障手册
github·bug·鸿蒙系统·数据库管理员
Rain5096 天前
谁动了我的 URL?——记一次微前端“灵异 Bug“的排查实录
前端·vue.js·人工智能·前端框架·bug·ai编程
百变梦仔6 天前
Codex 处理接口异常类 bug 时,我会让调试 Skill 先接住错误信息
bug
深念Y8 天前
fnOS-k3s-ResolvConf权限700-Bug分析
内核·bug·nas·k3s·fnos·魔改内核