Dan,
> Something that I do not understand is why if you use a valid_time =
> '2004-01-22 00:00:00' the query will use the index but if you do a
> valid_time > '2004-01-22 00:00:00' it does not use the index?
Because of the expected number of rows to be returned. Take a look at the row
estimates on the forecastleelement scans.
You can improve these estimates by increasing the ANALYZE stats and/or running
ANALYZE more often. Of course, increasing the stats makes analyze run
slower ...
--
-Josh Berkus
Aglio Database Solutions
San Francisco