GIN (Generalized Inverted Index) - для полнотекста, массивов, JSONB (операторы @>, ?, содержания). Построен по элементам; эффективен когда один документ дает много ключей. GiST - для геоданных, диапазонов, полнотекста; может давать false positives, нужна проверка по таблице. В Go запросы к JSONB и полнотексту автоматически используют подходящий индекс при правильном определении.
CREATE INDEX ON events USING GIN (data jsonb_path_ops);