F.49. pg_trgm_mchar
pg_trgm_mchar — расширение Postgres Pro, которое обеспечивает быстрый поиск схожих строк типов mchar и mvarchar на основе тригамм. Функциональность этого расширения во многом пересекается с функциональностью pg_trgm: оно предоставляет аналогичные функции и операторы, адаптированные для типов mchar и mvarchar. Однако для поиска по столбцам этих типов pg_trgm_mchar поддерживает только классы операторов GIN.
Примечание
Оператор LIKE поддерживает только операнды типов (mchar, mvarchar). Операции с операндами типов (mchar, mchar) не поддерживаются.
F.49.1. Установка
Расширение pg_trgm_mchar включено в состав Postgres Pro Standard как стандартное расширение. Оно зависит как от pg_trgm, так и от mchar. Эти модули необходимо установить до создания pg_trgm_mchar, либо можно установить все зависимости автоматически с помощью команды:
CREATE EXTENSION pg_trgm_mchar CASCADE;
Также, если оба требуемых модуля уже установлены, расширение pg_trgm_mchar можно включить, выполнив следующий запрос:
CREATE EXTENSION pg_trgm_mchar;
Поскольку типы данных mchar и mvarchar используют библиотеку ICU, её наличие также необходимо для корректной работы расширения.
F.49.2. Пример
Поскольку pg_trgm_mchar функционирует практически идентично pg_trgm, за примерами использования обратитесь к документации pg_trgm.
Однако процессы создания индексов различаются: расширение pg_trgm_mchar использует семейство операторов gin_trgm_ops_mvarchar/gin_trgm_ops_mchar вместо gin_trgm_ops, используемого в pg_trgm:
CREATE TABLE test_trgm(t mvarchar); CREATE INDEX trgm_idx ON test_trgm USING gin (t gin_trgm_ops_mvarchar); ... CREATE TABLE test_trgm_mchar(t mchar); CREATE INDEX trgm_mchar_idx ON test_trgm_mchar USING gin (t gin_trgm_ops_mchar);
Во всех остальных случаях поведение этих двух модулей идентично.