FastGPT
FastGPT copied to clipboard
Bug:在 pgvector v0.7.0+ 环境下,知识库搜索报错 "invalid configuration parameter name"
例行检查
- [x] 我已确认目前没有类似 issue
- [x ] 我已完整查看过项目 README,以及项目文档
- [x] 我使用了自己的 key,并确认我的 key 是可正常使用的
- [x] 我理解并愿意跟进此 issue,协助测试和提供反馈
- [x] 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭
你的版本
- [ ] 公有云版本
- [x] 私有部署版本, 具体版本号: 4.12.2
问题描述, 日志截图,配置文件等 当使用搭载 pgvector 扩展 v0.7.0 或更高版本的 PostgreSQL 数据库时,FastGPT 的知识库搜索功能会间歇性失败。在 PostgreSQL 容器的日志中,会频繁出现如下致命错误:
ERROR: invalid configuration parameter name "hnsw.max_scan_tuples"
DETAIL: "hnsw" is a reserved prefix.
前端报错:
invalid configuration parameter name "hnsw.max_scan_tuples"
或者是 Warning,但查询依然失败。
问题可能在于从 pgvector v0.7.0 起,数据库服务器禁止再通过 SET LOCAL 或 SET 命令设置以 hnsw 为前缀的运行时参数(如 hnsw.ef_search、hnsw.max_scan_tuples)。而 FastGPT 当前版本的后端查询代码中,依然保留了这些语句,导致了查询失败。 日志
2025-08-31 05:05:02.606 UTC [39] ERROR: invalid configuration parameter name "hnsw.max_scan_tuples"
2025-08-31 05:05:02.606 UTC [39] DETAIL: "hnsw" is a reserved prefix.
2025-08-31 05:05:02.606 UTC [39] STATEMENT: BEGIN;
SET LOCAL hnsw.ef_search = 100;
SET LOCAL hnsw.max_scan_tuples = 100000;
SET LOCAL hnsw.iterative_scan = relaxed_order;
WITH relaxed_results AS MATERIALIZED (
select id, collection_id, vector <#> ...
) SELECT id, collection_id, score FROM relaxed_results ORDER BY score;
COMMIT;
复现步骤 在该版本执行知识库搜索(工作流里失败几率非常高,知识库内搜索测试失败率低一些) 预期结果 一定概率报错 "invalid configuration parameter name"
没遇到过这个提示哎,用的是自己的 pg?
没遇到过这个提示哎,用的是自己的 pg?
不是 就是同一个容器创建的pg