-- pg_turbovec v1.12.0 -- out-of-core IVF build (Phase B-4). -- -- This file is a *reference mirror*. The authoritative install -- script is generated by `cargo pgrx schema`. -- -- v1.12.0 makes the IVF build (WITH (lists = N)) out-of-core so it -- can build 1M-5M+ row indexes on a RAM-constrained host. Before, -- the lists>0 build held the full f32 corpus TWICE in RAM -- (~14 GiB peak at 1M x 1024-d) and OOM-killed builds at 1M+. -- -- Now the corpus spills to a PostgreSQL BufFile temp (in pgsql_tmp, -- respecting temp_tablespaces / temp_file_limit, RAII-cleaned on -- abort). The build streams in three passes bounded by -- maintenance_work_mem; the only RAM term that scales with row count -- is the QUANTIZED packed_codes (7-15x smaller than the f32 corpus). -- Measured: 1M x 1024-d x lists=1024 peak RSS ~14 GiB (OOM) -> -- ~7.1 GiB (completes); 5M projected ~8-10 GiB. -- -- This is a BUILD-INTERNAL change. The on-disk relfile is -- byte-identical to a v1.11.x in-memory build for the same input -- (verified) and is maintenance_work_mem-invariant. MetaPageData:: -- version stays 4. The flat (lists=0) build path is unchanged. -- There is no DDL, no on-disk migration, and NO REINDEX. -- `ALTER EXTENSION pg_turbovec UPDATE TO '1.12.0';` resolves against -- this intentionally-empty file.