надо искать по началу строки. gin индекс для этого подходит?
По-моему, нет (если индексировать jsonb-поле непосредственно). А так-то можно функциональный индекс запилить (преобразовав в обычный массив), казалось бы.
Я стал рассуждать, сначала нужно выражение преобразовать джойсон массив в пг-массив (гуглится раз), потом нагуглил, что да, гин-индексом накладываем на пг-массив, ну короч сложное выражение для индекса, как-то так
Даже просто гин индекс по первому элементу массива
почему по первому? у меня условие поиска - если в массиве есть строки начинающиес с '1/2/3'
Там проще фукцию жс2пг массив
из того что нашел, обязательно нужно расширение pg_trgm для gin индекса. просто gin не умеет искать по началу строки, функциональный индекс не строится по массиву ERROR: set-returning functions are not allowed in index expressions
Обсуждают сегодня