Hi, I want to select records that haven't had an error (logged to last_error) in the last 24 hours. My query is: select * from table1 where last_error is null or extract(epoch from now()-last_error) > 86400; I've created an index on last_error (timestamp with time zone - can be NULL), then used EXPLAIN: Seq Scan on table1 (cost=0.00..20.86 rows=217 width=72) Filter: ((last_error IS NULL) OR (date_part('epoch'::text, (now() - last_error)) > 86400::double precision)) There are over 550 rows in table1, so it doesn't look the index is being used. Is there a way to rewrite this query so the index is used? Thanks, CSN __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster