11
CREATE INDEX message_fulltext_idx ON feedback USING gin(to_tsvector(message));
ERROR: functions in index predicate must be marked IMMUTABLE
Как избежать этого?Postgres индекс полнотекстового
CREATE INDEX message_fulltext_idx ON feedback USING gin(to_tsvector(message));
ERROR: functions in index predicate must be marked IMMUTABLE
Как избежать этого?Postgres индекс полнотекстового
Вам необходимо указать необязательный параметр конфигурации. Без этого функция не является неизменной. Например, если вы хотите, чтобы стандартный текстовый синтаксический анализ текста:
CREATE INDEX message_fulltext_idx ON feedback
USING gin(to_tsvector('english', message));
Это правильный ответ. Первая форма 'to_tsvector' будет использовать параметр по умолчанию для параметра конфигурации, который исходит из параметра' default_text_search_config'. Поскольку это изменяемая настройка, функция не является неизменной. Если бы он изменился, существующий индекс, основанный на не подлежащей mimmutable функции, был бы без искажений. Так что это запрещено. См. Http://www.postgresql.org/docs/current/static/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX. – Edmund