-- pg_turbovec v1.19.0 -- all index reads through the buffer manager. -- -- This file is a *reference mirror*. The authoritative install -- script is generated by `cargo pgrx schema`. -- -- v1.19.0 removes the direct relfile mmap. ALL index data is now read -- through PostgreSQL's shared-buffer cache (ReadBufferExtended) -- -- there is no mmap/pread of the relfile. This is the correct posture -- for managed/sandboxed Postgres and any environment that restricts -- direct file access; the buffer manager is the single source of -- truth for page reads (consistent pinning/locking, clean crash + -- streaming-replication semantics). -- -- READ-PATH change only: -- * The whole-load scan reads the blocked codes / rotation chains -- via the buffer manager (the path that was already the mmap -- fallback). -- * Out-of-core IVF serving is PRESERVED without mmap: the -- cell-scoped gather reads ONLY the probed cells' code pages -- through the buffer manager (relfile::gather_codes_ranges), so -- the resident set stays O(probes * cell_size), not O(n). -- * turbovec.mmap_static_blocked is now a DEPRECATED no-op, kept -- for one minor so an existing SET does not error; it is ignored -- and will be removed in a future minor. -- -- There is NO wire-format change (MetaPageData::version unchanged), -- NO SQL surface change, and NO REINDEX. Warm queries are unchanged -- (the prepared index is cached per-backend). The cost given up is -- cold-fill speed and double-cache avoidance on an index larger than -- shared_buffers; size shared_buffers to hold the (compressed) hot -- index -- pg_turbovec's 7-15x compression makes that practical. -- See docs/BUFFER_CACHE_ONLY_DESIGN.md. -- -- `ALTER EXTENSION pg_turbovec UPDATE TO '1.19.0';` resolves against -- this intentionally-empty file.