-- v4.24: pg_trgm search indexes for fast fuzzy inventory search. -- The POS list endpoint uses ILIKE '%q%' on part_number/name/barcode/aliases; -- btree indexes cannot serve those. Trigram GIN indexes make them fast even -- with 150k+ SKU catalogs. CREATE EXTENSION IF NOT EXISTS pg_trgm; CREATE INDEX IF NOT EXISTS idx_inventory_part_trgm ON inventory USING gin (part_number gin_trgm_ops); CREATE INDEX IF NOT EXISTS idx_inventory_name_trgm ON inventory USING gin (name gin_trgm_ops); CREATE INDEX IF NOT EXISTS idx_inventory_alias_trgm ON inventory_sku_aliases USING gin (sku gin_trgm_ops); ANALYZE inventory; ANALYZE inventory_sku_aliases;