Nieważne, znalazłem problem.
Planer zapytań był mądrzejszy niż mój zestaw testowy zabawek; ponieważ większość wierszy pasuje do zapytania, przeprowadzono skanowanie sekwencyjne.
Jeśli spróbuję z ilike '%nd 0%' zamiast tego żadne wiersze nie pasują, a raporty WYJAŚNIJ ANALIZĘ Bitmap Index Scan on test3_value_trgm_idx poprawnie.
Tak więc normalizacja oryginalnego JSONB w ten sposób działa. Ale spróbuję też znaleźć i porównać inny sposób, używając wyrażeń regularnych zamiast TEXT , aby uniknąć konieczności tworzenia i obsługi kolejnej tabeli.