Search Postgresql Archives

Re: expression index on date_trunc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



	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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux