11
CREATE INDEX message_fulltext_idx ON feedback USING gin(to_tsvector(message));
ERROR: functions in index predicate must be marked IMMUTABLE
¿Cómo evitar esto?Postgres índice de texto completo
CREATE INDEX message_fulltext_idx ON feedback USING gin(to_tsvector(message));
ERROR: functions in index predicate must be marked IMMUTABLE
¿Cómo evitar esto?Postgres índice de texto completo
Necesita incluir el parámetro de configuración opcional. Sin él, la función no es inmutable. Por ejemplo, si desea el análisis estándar de texto en inglés:
CREATE INDEX message_fulltext_idx ON feedback
USING gin(to_tsvector('english', message));
Esta es la respuesta correcta. La primera forma de 'to_tsvector' usará un valor predeterminado para el parámetro config que proviene de la configuración' default_text_search_config'. Como se trata de una configuración modificable, la función no es inmutable. Si fuera a cambiar, un índice existente basado en la función no mimonable sería silenciosamente dañado. Entonces está prohibido. Ver http://www.postgresql.org/docs/current/static/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX. – Edmund