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'的config參數的默認值。由於這是一個可改變的設置,該功能並不是不變的。如果它發生變化,基於非模仿函數的現有索引將被無聲地破壞。所以這是禁止的。請參閱http://www.postgresql.org/docs/current/static/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX。 – Edmund 2012-04-05 12:46:02