Re: expression index on date_trunc
От | Daniel Verite |
---|---|
Тема | Re: expression index on date_trunc |
Дата | |
Msg-id | f6b42095-5fe2-4f6a-8c49-6bd49badb3ad@mm обсуждение исходный текст |
Ответ на | expression index on date_trunc (a.redhead@openinternetsolutions.com) |
Список | pgsql-general |
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
В списке pgsql-general по дате отправления: