pg_turbovec
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_turbovec | 2.15.0 | RAG | Apache-2.0 | Rust |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 1980 | pg_turbovec | 否 | 是 | 否 | 是 | 否 | 否 | turbovec |
| 相关扩展 | vector vchord vectorscale |
|---|
Upstream 2.15.0 keeps wire format 8 and SQL surface. It reports empty-built IVF as degraded and fixes its later scan failure, caches query TOAST decoding and IVF rotation matrices. Healthy 2.x indexes need no routine REINDEX; rebuild empty-built IVF after loading to train cells. Earlier 1.x and corruption-repair requirements remain.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 2.15.0 | 1817161514 | pg_turbovec | - |
| RPM | PIGSTY | 2.15.0 | 1817161514 | pg_turbovec_$v | - |
| DEB | PIGSTY | 2.15.0 | 1817161514 | postgresql-$v-pg-turbovec | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 2.15.0 el8.x86_64.pg18 : pg_turbovec_18 pg_turbovec_18-2.15.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 2.15.0 el8.x86_64.pg17 : pg_turbovec_17 pg_turbovec_17-2.15.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 2.15.0 el8.x86_64.pg16 : pg_turbovec_16 pg_turbovec_16-2.15.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 2.15.0 el8.x86_64.pg15 : pg_turbovec_15 pg_turbovec_15-2.15.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 2.15.0 el8.x86_64.pg14 : pg_turbovec_14 pg_turbovec_14-2.15.0-1PGSTY.el8.x86_64.rpm
|
| el8.aarch64 | PIGSTY 2.15.0 el8.aarch64.pg18 : pg_turbovec_18 pg_turbovec_18-2.15.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 2.15.0 el8.aarch64.pg17 : pg_turbovec_17 pg_turbovec_17-2.15.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 2.15.0 el8.aarch64.pg16 : pg_turbovec_16 pg_turbovec_16-2.15.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 2.15.0 el8.aarch64.pg15 : pg_turbovec_15 pg_turbovec_15-2.15.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 2.15.0 el8.aarch64.pg14 : pg_turbovec_14 pg_turbovec_14-2.15.0-1PGSTY.el8.aarch64.rpm
|
| el9.x86_64 | PIGSTY 2.15.0 el9.x86_64.pg18 : pg_turbovec_18 pg_turbovec_18-2.15.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 2.15.0 el9.x86_64.pg17 : pg_turbovec_17 pg_turbovec_17-2.15.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 2.15.0 el9.x86_64.pg16 : pg_turbovec_16 pg_turbovec_16-2.15.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 2.15.0 el9.x86_64.pg15 : pg_turbovec_15 pg_turbovec_15-2.15.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 2.15.0 el9.x86_64.pg14 : pg_turbovec_14 pg_turbovec_14-2.15.0-1PGSTY.el9.x86_64.rpm
|
| el9.aarch64 | PIGSTY 2.15.0 el9.aarch64.pg18 : pg_turbovec_18 pg_turbovec_18-2.15.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 2.15.0 el9.aarch64.pg17 : pg_turbovec_17 pg_turbovec_17-2.15.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 2.15.0 el9.aarch64.pg16 : pg_turbovec_16 pg_turbovec_16-2.15.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 2.15.0 el9.aarch64.pg15 : pg_turbovec_15 pg_turbovec_15-2.15.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 2.15.0 el9.aarch64.pg14 : pg_turbovec_14 pg_turbovec_14-2.15.0-1PGSTY.el9.aarch64.rpm
|
| el10.x86_64 | PIGSTY 2.15.0 el10.x86_64.pg18 : pg_turbovec_18 pg_turbovec_18-2.15.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 2.15.0 el10.x86_64.pg17 : pg_turbovec_17 pg_turbovec_17-2.15.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 2.15.0 el10.x86_64.pg16 : pg_turbovec_16 pg_turbovec_16-2.15.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 2.15.0 el10.x86_64.pg15 : pg_turbovec_15 pg_turbovec_15-2.15.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 2.15.0 el10.x86_64.pg14 : pg_turbovec_14 pg_turbovec_14-2.15.0-1PGSTY.el10.x86_64.rpm
|
| el10.aarch64 | PIGSTY 2.15.0 el10.aarch64.pg18 : pg_turbovec_18 pg_turbovec_18-2.15.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 2.15.0 el10.aarch64.pg17 : pg_turbovec_17 pg_turbovec_17-2.15.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 2.15.0 el10.aarch64.pg16 : pg_turbovec_16 pg_turbovec_16-2.15.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 2.15.0 el10.aarch64.pg15 : pg_turbovec_15 pg_turbovec_15-2.15.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 2.15.0 el10.aarch64.pg14 : pg_turbovec_14 pg_turbovec_14-2.15.0-1PGSTY.el10.aarch64.rpm
|
| d12.x86_64 | PIGSTY 2.15.0 d12.x86_64.pg18 : postgresql-18-pg-turbovec postgresql-18-pg-turbovec_2.15.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 2.15.0 d12.x86_64.pg17 : postgresql-17-pg-turbovec postgresql-17-pg-turbovec_2.15.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 2.15.0 d12.x86_64.pg16 : postgresql-16-pg-turbovec postgresql-16-pg-turbovec_2.15.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 2.15.0 d12.x86_64.pg15 : postgresql-15-pg-turbovec postgresql-15-pg-turbovec_2.15.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 2.15.0 d12.x86_64.pg14 : postgresql-14-pg-turbovec postgresql-14-pg-turbovec_2.15.0-1PGSTY~bookworm_amd64.deb
|
| d12.aarch64 | PIGSTY 2.15.0 d12.aarch64.pg18 : postgresql-18-pg-turbovec postgresql-18-pg-turbovec_2.15.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 2.15.0 d12.aarch64.pg17 : postgresql-17-pg-turbovec postgresql-17-pg-turbovec_2.15.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 2.15.0 d12.aarch64.pg16 : postgresql-16-pg-turbovec postgresql-16-pg-turbovec_2.15.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 2.15.0 d12.aarch64.pg15 : postgresql-15-pg-turbovec postgresql-15-pg-turbovec_2.15.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 2.15.0 d12.aarch64.pg14 : postgresql-14-pg-turbovec postgresql-14-pg-turbovec_2.15.0-1PGSTY~bookworm_arm64.deb
|
| d13.x86_64 | PIGSTY 2.15.0 d13.x86_64.pg18 : postgresql-18-pg-turbovec postgresql-18-pg-turbovec_2.15.0-1PGSTY~trixie_amd64.deb
| PIGSTY 2.15.0 d13.x86_64.pg17 : postgresql-17-pg-turbovec postgresql-17-pg-turbovec_2.15.0-1PGSTY~trixie_amd64.deb
| PIGSTY 2.15.0 d13.x86_64.pg16 : postgresql-16-pg-turbovec postgresql-16-pg-turbovec_2.15.0-1PGSTY~trixie_amd64.deb
| PIGSTY 2.15.0 d13.x86_64.pg15 : postgresql-15-pg-turbovec postgresql-15-pg-turbovec_2.15.0-1PGSTY~trixie_amd64.deb
| PIGSTY 2.15.0 d13.x86_64.pg14 : postgresql-14-pg-turbovec postgresql-14-pg-turbovec_2.15.0-1PGSTY~trixie_amd64.deb
|
| d13.aarch64 | PIGSTY 2.15.0 d13.aarch64.pg18 : postgresql-18-pg-turbovec postgresql-18-pg-turbovec_2.15.0-1PGSTY~trixie_arm64.deb
| PIGSTY 2.15.0 d13.aarch64.pg17 : postgresql-17-pg-turbovec postgresql-17-pg-turbovec_2.15.0-1PGSTY~trixie_arm64.deb
| PIGSTY 2.15.0 d13.aarch64.pg16 : postgresql-16-pg-turbovec postgresql-16-pg-turbovec_2.15.0-1PGSTY~trixie_arm64.deb
| PIGSTY 2.15.0 d13.aarch64.pg15 : postgresql-15-pg-turbovec postgresql-15-pg-turbovec_2.15.0-1PGSTY~trixie_arm64.deb
| PIGSTY 2.15.0 d13.aarch64.pg14 : postgresql-14-pg-turbovec postgresql-14-pg-turbovec_2.15.0-1PGSTY~trixie_arm64.deb
|
| u22.x86_64 | PIGSTY 2.15.0 u22.x86_64.pg18 : postgresql-18-pg-turbovec postgresql-18-pg-turbovec_2.15.0-1PGSTY~jammy_amd64.deb
| PIGSTY 2.15.0 u22.x86_64.pg17 : postgresql-17-pg-turbovec postgresql-17-pg-turbovec_2.15.0-1PGSTY~jammy_amd64.deb
| PIGSTY 2.15.0 u22.x86_64.pg16 : postgresql-16-pg-turbovec postgresql-16-pg-turbovec_2.15.0-1PGSTY~jammy_amd64.deb
| PIGSTY 2.15.0 u22.x86_64.pg15 : postgresql-15-pg-turbovec postgresql-15-pg-turbovec_2.15.0-1PGSTY~jammy_amd64.deb
| PIGSTY 2.15.0 u22.x86_64.pg14 : postgresql-14-pg-turbovec postgresql-14-pg-turbovec_2.15.0-1PGSTY~jammy_amd64.deb
|
| u22.aarch64 | PIGSTY 2.15.0 u22.aarch64.pg18 : postgresql-18-pg-turbovec postgresql-18-pg-turbovec_2.15.0-1PGSTY~jammy_arm64.deb
| PIGSTY 2.15.0 u22.aarch64.pg17 : postgresql-17-pg-turbovec postgresql-17-pg-turbovec_2.15.0-1PGSTY~jammy_arm64.deb
| PIGSTY 2.15.0 u22.aarch64.pg16 : postgresql-16-pg-turbovec postgresql-16-pg-turbovec_2.15.0-1PGSTY~jammy_arm64.deb
| PIGSTY 2.15.0 u22.aarch64.pg15 : postgresql-15-pg-turbovec postgresql-15-pg-turbovec_2.15.0-1PGSTY~jammy_arm64.deb
| PIGSTY 2.15.0 u22.aarch64.pg14 : postgresql-14-pg-turbovec postgresql-14-pg-turbovec_2.15.0-1PGSTY~jammy_arm64.deb
|
| u24.x86_64 | PIGSTY 2.15.0 u24.x86_64.pg18 : postgresql-18-pg-turbovec postgresql-18-pg-turbovec_2.15.0-1PGSTY~noble_amd64.deb
| PIGSTY 2.15.0 u24.x86_64.pg17 : postgresql-17-pg-turbovec postgresql-17-pg-turbovec_2.15.0-1PGSTY~noble_amd64.deb
| PIGSTY 2.15.0 u24.x86_64.pg16 : postgresql-16-pg-turbovec postgresql-16-pg-turbovec_2.15.0-1PGSTY~noble_amd64.deb
| PIGSTY 2.15.0 u24.x86_64.pg15 : postgresql-15-pg-turbovec postgresql-15-pg-turbovec_2.15.0-1PGSTY~noble_amd64.deb
| PIGSTY 2.15.0 u24.x86_64.pg14 : postgresql-14-pg-turbovec postgresql-14-pg-turbovec_2.15.0-1PGSTY~noble_amd64.deb
|
| u24.aarch64 | PIGSTY 2.15.0 u24.aarch64.pg18 : postgresql-18-pg-turbovec postgresql-18-pg-turbovec_2.15.0-1PGSTY~noble_arm64.deb
| PIGSTY 2.15.0 u24.aarch64.pg17 : postgresql-17-pg-turbovec postgresql-17-pg-turbovec_2.15.0-1PGSTY~noble_arm64.deb
| PIGSTY 2.15.0 u24.aarch64.pg16 : postgresql-16-pg-turbovec postgresql-16-pg-turbovec_2.15.0-1PGSTY~noble_arm64.deb
| PIGSTY 2.15.0 u24.aarch64.pg15 : postgresql-15-pg-turbovec postgresql-15-pg-turbovec_2.15.0-1PGSTY~noble_arm64.deb
| PIGSTY 2.15.0 u24.aarch64.pg14 : postgresql-14-pg-turbovec postgresql-14-pg-turbovec_2.15.0-1PGSTY~noble_arm64.deb
|
| u26.x86_64 | PIGSTY 2.15.0 u26.x86_64.pg18 : postgresql-18-pg-turbovec postgresql-18-pg-turbovec_2.15.0-1PGSTY~resolute_amd64.deb
| PIGSTY 2.15.0 u26.x86_64.pg17 : postgresql-17-pg-turbovec postgresql-17-pg-turbovec_2.15.0-1PGSTY~resolute_amd64.deb
| PIGSTY 2.15.0 u26.x86_64.pg16 : postgresql-16-pg-turbovec postgresql-16-pg-turbovec_2.15.0-1PGSTY~resolute_amd64.deb
| PIGSTY 2.15.0 u26.x86_64.pg15 : postgresql-15-pg-turbovec postgresql-15-pg-turbovec_2.15.0-1PGSTY~resolute_amd64.deb
| PIGSTY 2.15.0 u26.x86_64.pg14 : postgresql-14-pg-turbovec postgresql-14-pg-turbovec_2.15.0-1PGSTY~resolute_amd64.deb
|
| u26.aarch64 | PIGSTY 2.15.0 u26.aarch64.pg18 : postgresql-18-pg-turbovec postgresql-18-pg-turbovec_2.15.0-1PGSTY~resolute_arm64.deb
| PIGSTY 2.15.0 u26.aarch64.pg17 : postgresql-17-pg-turbovec postgresql-17-pg-turbovec_2.15.0-1PGSTY~resolute_arm64.deb
| PIGSTY 2.15.0 u26.aarch64.pg16 : postgresql-16-pg-turbovec postgresql-16-pg-turbovec_2.15.0-1PGSTY~resolute_arm64.deb
| PIGSTY 2.15.0 u26.aarch64.pg15 : postgresql-15-pg-turbovec postgresql-15-pg-turbovec_2.15.0-1PGSTY~resolute_arm64.deb
| PIGSTY 2.15.0 u26.aarch64.pg14 : postgresql-14-pg-turbovec postgresql-14-pg-turbovec_2.15.0-1PGSTY~resolute_arm64.deb
|
构建
您可以使用 pig build 命令构建 pg_turbovec 扩展的 RPM / DEB 包:
安装
您可以直接安装 pg_turbovec 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
创建扩展:
用法
来源:
pg_turbovec 2.15.0 提供 turbovec.vector 类型和紧凑向量索引,并用堆中的原始向量对候选项重新排序。平坦搜索扫描量化编码,IVF 则进一步只搜索选定的单元;除非候选集覆盖所有真实近邻,两者都属于近似搜索。任何 1.x 索引升级到 2.x 都必须重建。
创建和查询向量
索引中的向量必须具有一致的维度,且维度为 8 的倍数;该类型最多接受 16,000 个坐标。示例使用八维向量,因此能够建立索引。将 turbovec.vec_cosine_ops 与 <=> 配合使用,将 turbovec.vec_ip_ops 与 <#> 配合使用;<-> 和 <+> 还提供精确距离运算。
选择索引并调优查询
lists = 0是默认的平坦量化扫描;候选项重新排序并不保证任意数据集都达到精确召回率。WITH (lists = N)启用 IVF。应使用足够的代表性数据训练,根据语料选择单元数量,并与精确搜索基线比较召回率;增加单元数量本身不保证查询更快。- 默认
bit_width = 4,也支持二位、三位量化。bit_width = 1使用经过均值中心化的符号二值量化,支持 IVF,并从堆中重新排序;它与 TurboQuant 是不同的方案。 WITH (graph = true)已弃用。新索引优先选择平坦或 IVF;已有图索引应查阅上游迁移指南。
无需预加载也能建立索引和查询,但上游建议将库加入 shared_preload_libraries,使调优 GUC 正确注册。应与已有条目合并并重启 PostgreSQL,不要替换其他必需的库:
设置查询必须返回非零数量;SET 接受带点号的占位参数,并不证明扩展的 GUC 已注册。重要参数包括 turbovec.probes、turbovec.search_k、turbovec.oversample、turbovec.iterative_scan 和 turbovec.cache_size_mb。稳定的过滤条件可使用部分索引,也可使用文档所述的允许列表或迭代扫描路径;应将过滤结果与精确基线比较。原生分区的索引需要分别维护。
从 1.x 升级到 2.12.1
安排维护窗口,保留堆中的向量以及经过验证的备份。安装匹配的新二进制文件、更新 SQL 扩展,然后重启 PostgreSQL,确保所有后端使用新库:
2.0.0 将索引格式从 7 改为 8。旧索引无法原地读取:恢复查询前,必须从堆数据重建每一个 TurboVec 索引,包括每个分区上的索引。在 psql 中生成并执行重建语句:
这里使用普通的阻塞式 REINDEX。如果选择并发重建,应在事务块和 DO 函数之外逐条执行顶层命令,并考虑新索引可用前旧格式扫描仍会失败。不能把 SQL 扩展更新成功当作完成了 1.x 迁移。
2.10.2 到 2.10.3 的补丁升级保留格式 8,本身不要求重建。更早版本之间的升级仍应遵循上游升级矩阵。即使补丁保持格式兼容,已经损坏的索引仍须修复;turbovec.turbovec_check(regclass) 会报告检测到的损坏及原因。
兼容性与维护
控制文件将对象固定在 turbovec 模式中,设置 superuser = false,且不支持重定位。上游覆盖 PostgreSQL 13–18,并在本版本将 PostgreSQL 19 标记为实验性;当前 Pigsty 包覆盖 14–18。替换二进制文件、预加载调优和跨索引格式迁移分别涉及重启与重建要求。2.10.3 并行执行冷后端的编码重排,不改变已有索引字节。应按实际语料规划索引构建内存、临时空间、WAL 和 vacuum 工作量,不要将上游测试数字当作性能保证。
升级到 2.11.0
2.11.0 在适用硬件和较大索引上采用分阶段的 2/4 位搜索,近似候选集合可能变化。同时修复了 2.10.3 及更早版本中的并发写入索引损坏和逐次扫描内存泄漏。对于来自 2.x 的健康格式 8 索引,安装匹配文件、更新扩展并重启即可;本次没有 SQL 接口或线格式变化,不要求例行 REINDEX。已发生的索引损坏仍需修复,1.x 索引必须重建的要求也没有改变。
2.12.0 的距离舍入变化
向量化精确距离内核改变八维及以上 vector 和 halfvec 输入的舍入结果。距离极近的邻居可能改变排序或跨越距离阈值,sparsevec 运算符不变。格式 8 和已有索引字节保持不变:更新 SQL 扩展并重新连接或重启以加载新库,无需例行重建索引。
表达式索引、部分索引谓词、存储生成列和物化视图可能保留旧的舍入结果。如果要求与新计算严格一致,应重建相关索引、刷新视图并重新计算存储的派生值。既有损坏仍需修复,所有 1.x 索引仍须重建。在空表上创建或被截断的 IVF 索引不会训练单元,应先装载数据,再按上游流程重建。
2.12.1 召回修复
2.12.1 将 turbovec 更新到 1.1.2,修复向量具有明显共同方向时分阶段搜索的召回损失。适用硬件上的候选集合可能变化,精确重排分数不变。本版还修复 Nix 构建,上游 pgrx 升至 0.19.3,CI 覆盖 PostgreSQL 19beta4。SQL 对象、GUC 和格式 8 均不变。更新扩展后重新连接以加载新库;健康的 2.x 索引无需 REINDEX。上述 1.x 重建与既有损坏修复要求仍适用。
2.13.0 限制扫描线程
turbovec.scan_parallelism 现用于限制 flat、IVF、ColBERT ANN 和 1-bit 扫描、turbovec.knn() 以及首次打开索引时的编码重排;已弃用的 graph 路径保持原状。在 2.13.0 中,默认值 0 最多使用四个核心,调低设置后在当前会话生效。调优时应权衡并发吞吐量与单条查询的延迟。
原本不生效的 turbovec.search_concurrency 设置已移除。对这一带点名称执行 SET 成功,可能只是 PostgreSQL 接受了占位参数,并不表示参数有效。2.13.0 还修复了外存 IVF 码本缓存的竞争问题。安装匹配文件、执行 ALTER EXTENSION pg_turbovec UPDATE TO '2.13.0',再重新连接或重启。健康的格式 8 索引无需 REINDEX;上述 1.x 索引重建要求仍适用。
2.14.0 并发默认值与候选重排
turbovec.scan_parallelism = 0 现在默认使用单线程,以减少高并发下的 CPU 过度竞争;它并未消除各后端私有解码缓存的内存开销。低并发场景可以显式增大线程数,但应衡量查询延迟与整体吞吐量的取舍。
新增的 turbovec.rerank_multiplier 默认 16.0,范围为 1.0–1024.0;精确重排的候选窗口由请求的数量和 oversample 决定,不再按向量维数设置下限。候选集合可能变化,应重新验证召回率。安装匹配文件后执行 ALTER EXTENSION pg_turbovec UPDATE TO '2.14.0' 并重新连接以加载库及新默认值。格式仍为 8,健康的 2.x 索引无须例行 REINDEX;此前的 1.x 迁移与损坏修复要求不变。
2.14.1 的写入与 VACUUM 正确性修复
2.14.1 修复并发提交后的后端缓存过期、插入刷盘时丢失 IVF 墓碑、写事务未结束时 VACUUM 清空索引后旧行重新出现,以及退化 IVF 扫描忽略墓碑的问题。精确评分与格式 8 均未改变。安装匹配文件,执行 ALTER EXTENSION pg_turbovec UPDATE TO '2.14.1',并回收长期保持的数据库连接,使其重新加载库与缓存。
两种历史状态需要执行一次 REINDEX:旧版中在 VACUUM 后又接受插入的 IVF 索引,以及写事务尚未结束时被 VACUUM 清空的任何索引。可在停止写入的表上执行 VACUUM (INDEX_CLEANUP ON),再用 turbovec.turbovec_check(regclass) 比较估算的存活索引条目数与实际覆盖的堆表行数。计数须包含向量非空条件和部分索引谓词;索引条目多于覆盖行数时需要 REINDEX。其他健康的 2.x 索引无须例行重建;1.x 升级重建和已有损坏修复的要求仍然适用。
2.15.0 的空 IVF 与扫描缓存
在空表上构建的 IVF 索引现在会报告为退化状态;装载数据后扫描时,若旋转维数尚未初始化,会正确回退到 flat 扫描。外置存储的查询向量改为每个表达式只解码一次,并缓存 IVF 旋转矩阵。格式 8、评分与 SQL 对象不变。安装匹配文件、更新到 2.15.0 并回收加载旧库的连接;健康的 2.x 索引无须例行 REINDEX。如需训练后的单元,应在装载数据后重建原本空建的 IVF;若只为给已有空建索引增加新的退化报告标记,重建是可选的。此前的 1.x 迁移及损坏修复要求仍然适用。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)