Jeff Davis wrote:
On Thu, 2006-08-17 at 20:50 +0300, gustavo halperin wrote:
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?
Create an index on the table, and then periodically move records into a
separate archive table.
Regards,
Jeff Dave
Thanks, but I have a question. If the table is a BIIIIIIG table, use
your solution is still a good idea ?? What about to create a partial
INDEX for the really current date (and not using the function
current_date) and periodically dropped and created it with the current
day again and again ??
Thank you again,
Gustavo