安装指南
通过 pig 安装原生 Linux 软件包(推荐)
在 EL 8/9/10、Debian 12/13 与 Ubuntu 22.04/24.04(支持 PostgreSQL 14–18)上,可以直接从 Pigsty 软件仓库安装预构建的原生软件包(完整包可用性矩阵见 pgext.cloud):
使用 Docker(vchord-suite)
tensorchord/vchord-suite Docker 镜像已预装完整的 Vchord 检索扩展套件:
pg_tokenizer—— 独立多语言分词器(pgsty/pg_tokenizer)vchord_bm25—— 原生 BM25 排序索引(pgsty/vchord_bm25)vchord—— 可扩展、磁盘友好的向量相似性检索(pgsty/vchord)pgvector—— 标准 PostgreSQL 向量数据类型
使用 psql 连接数据库并启用扩展:
参数配置(shared_preload_libraries 与 search_path)
通过原生软件包或归档包安装时,请将 pg_tokenizer.so 加入 shared_preload_libraries(预加载词表模型所必需),并将 tokenizer_catalog 加入 search_path:
随后在目标数据库中创建扩展:
从 Debian 软件包或 ZIP 归档包安装
预编译的 .deb 与 .zip 发行包(要求 GLIBC >= 2.35,支持 x86_64 与 aarch64)可在 pgsty/pg_tokenizer Releases 页面下载:
从源码编译安装(cargo-pgrx)
升级到 0.1.2(未发布)
以下为 0.1.2 源码中的变更,尚未发布。安装匹配的动态库和 SQL 脚本后,先重启 PostgreSQL 以加载新的预加载库,再由扩展拥有者或管理员对各数据库执行:
0.1.0 与 0.1.1 均有升级路径。升级替换触发器及便捷函数定义,并授予目录权限,不重建自定义词表、不改变已有词元 ID,保留原六参函数的依赖关系。标准 cargo pgrx install/package 与 tools/package.sh 均会包含升级脚本。Lindera 字典版本变化引起的 ID 迁移仍须按照模型说明重新分词。
数据库拥有者权限
安装与升级向 pg_database_owner 授予 tokenizer_catalog 的 USAGE/CREATE、函数的 EXECUTE,目录表与模型表的 SELECT/INSERT/UPDATE/DELETE,以及序列的 USAGE/SELECT。安装角色以后在该模式中创建的表、序列和函数也有相同默认授权;新建自定义模型还会显式授权。授权随数据库拥有者变更而生效。
管理员安装扩展后,非超级用户的数据库拥有者可以创建、删除自己创建的模型、分析器、分词器、停用词及同义词。授权不转移对象所有权:删除其他角色创建的模型仍需原对象拥有者或管理员。其他应用角色需要显式授权;扩展不会向 PUBLIC 开放模式访问或目录写权限,函数继续以调用者权限执行。