A Redhead wrote:
CREATE INDEX request_day_idx ON moksha_sm_request
(date_trunc('day', request_received));
I get the error message:
ERROR: functions in index expression must be marked IMMUTABLE
[...]
I'd be grateful if someone could point out what part of the statement
is not IMMUTABLE
or how I could mark my create index statement as being immutable.
The retrieved value of request_received depends on your current
timezone, and so does the result of date_trunc, that would be why it's
not immutable.
If you don't need that behavior, you can shift your timestamptz to a
fixed timezone, both in your index and in your queries, as in:
CREATE INDEX request_day_idx ON moksha_sm_request
(date_trunc('day', request_received at time zone 'Europe/Paris'));
--
Daniel
PostgreSQL-powered mail user agent and storage:
http://www.manitou-mail.org
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq