Не думаю, что для этого есть что-то встроенное. Вы можете создать функцию, которая превращает текст в массив биграмм (решая, что делать с пробелами, пунктуацией, не-ASCII и т. Д. c.), А затем индексировать этот массив и выполнять запрос с помощью оператора &&
. Но если ваши два символа не похожи на 'qz', вы можете не получить достаточной избирательности, чтобы сделать индекс полезным.
create function bigram(text) returns text[] language sql as $$
select array_agg(substring($1,x,2)) from generate_series(1,length($1)-1) f(x);
$$ immutable;
create index on foobar using gin (bigram(t));
select * from foobar where bigram(t) && bigram('aa');