pg_lion_vector
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_lion | 0.3.0 | FEAT | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 2715 | pg_lion | 否 | 是 | 否 | 是 | 否 | 是 | - |
| 2716 | pg_lion_citext | 否 | 否 | 否 | 是 | 否 | 是 | - |
| 2717 | pg_lion_vector | 否 | 是 | 否 | 是 | 否 | 是 | - |
pgvector >= 0.7.
版本
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| el8.aarch64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| el9.x86_64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| el9.aarch64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| el10.x86_64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| el10.aarch64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| d12.x86_64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| d12.aarch64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| d13.x86_64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| d13.aarch64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| u22.x86_64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| u22.aarch64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| u24.x86_64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| u24.aarch64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| u26.x86_64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
| u26.aarch64 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | PIGSTY 0.3.0 | N/A | N/A |
构建
您可以使用 pig build 命令构建 pg_lion 扩展的 RPM / DEB 包:
安装
您可以直接安装 pg_lion 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
创建扩展:
用法
来源:
pg_lion_vector 0.3.0 为 pgvector 的 vector 与 halfvec 值添加 lionvec 近邻索引访问方法。它使用父扩展 pg_lion 的动态库,依赖 pgvector 0.7 或更新版本。
核心流程
先创建父扩展与 vector。独立的 lion 索引可在按距离排序之前过滤候选行。
上游建议将所选运算符类对应距离函数的开销设为 COST 100,便于规划器比较索引扫描与排序成本。pg_dump 不会保留该设置,更新 vector 时也可能将其重置。
运算符类与调优
| 类型 | L2(<->) | 负内积(<#>) | 余弦(<=>) |
|---|---|---|---|
vector | vector_l2_ops(默认) | vector_ip_ops | vector_cosine_ops |
halfvec | halfvec_l2_ops(默认) | halfvec_ip_ops | halfvec_cosine_ops |
partitions 控制索引构建时的聚类数量;maintenance_work_mem 必须容纳足够的样本。pg_lion.vector_margin 和 pg_lion.vector_patience 控制近似搜索。受支持的 lion 过滤条件产生较小候选集时,可以采用精确评分。pg_lion.vector_postfilter 控制 lion 索引无法回答的条件;修改前应阅读参考手册。
运行边界
需要 PostgreSQL 16 及以上版本,并由超级用户安装。只支持单个 vector 或 halfvec 列,最多 8128 维;通常采用近似搜索。存在过滤条件不意味着所有查询都会成为精确近邻搜索。频繁更新和删除可能需要定期 REINDEX。父扩展的自定义 WAL 索引仍需维持预加载,父扩展与伴随扩展文件应保持相同版本。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)