Dynamic partial index

Started by gustavo halperinover 19 years ago2 messagesgeneral
Jump to latest
#1gustavo halperin
ggusti@gmail.com

Hello

I'm interesting in a partial index for a rows that aren't older than 6
mounts, something like the sentence below:
/ CREATE INDEX name_for_the_index ON table (the_column_of_type_date)
WHERE ( the_column_of_type_date > (current_date - interval '6
month')::date );/

But this is not posible, I receive the next error:
/ERROR: functions in index predicate must be marked IMMUTABLE/

So, what is the best solution for my problem?

Thank you,
Gustavo

#2Harald Fuchs
hf0731x@protecting.net
In reply to: gustavo halperin (#1)
Re: Dynamic partial index

In article <44E4A209.4080106@gmail.com>,
gustavo halperin <ggusti@gmail.com> writes:

Hello
I'm interesting in a partial index for a rows that aren't older than
6 mounts, something like the sentence below:
/ CREATE INDEX name_for_the_index ON table
(the_column_of_type_date) WHERE ( the_column_of_type_date >
(current_date - interval '6 month')::date );/

But this is not posible, I receive the next error:
/ERROR: functions in index predicate must be marked IMMUTABLE/

So, what is the best solution for my problem?

Use a fixed date 6 months ago, and regularly recreate the index.