Search Postgresql Archives

Re: Querying a time range across multiple partitions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



What about:
explain analyze select time,event from logins
  where username='bob' and hash='1234' and time > (current_date - interval '1 week’)::timestamp without time zone;

Also, you don’t appear to be having an index that starts from “time”, so none of the indexes will be particularly efficient at finding a specific time range. It’s quite possible that that makes PG think that “time” is not a very good candidate to filter on, simply because the optimizer doesn’t look that far.

That didn't seem to work either.  The thought did occur to me that the query planner wasn't using my combined column indexes.  I tried adding just a btree index on time and it still did the same problem.

Your example query there also goes back to 2010 for scanning tables.

Interestingly enough, this query actually works:

# explain analyze select time,event from logins
   where username='bob' and hash='1234' and time > '2014-08-29';

 Result  (cost=0.00..8.21 rows=8 width=20) (actual time=0.074..0.074 rows=0 loops=1)
   ->  Append  (cost=0.00..8.21 rows=8 width=20) (actual time=0.074..0.074 rows=0 loops=1)
         ->  Seq Scan on logins  (cost=0.00..0.00 rows=1 width=66) (actual time=0.002..0.002 rows=0 loops=1)
               Filter: (("time" > '2014-08-29 00:00:00'::timestamp without time zone) AND ((username)::text = 'bob'::text) AND ((hash)::text = '1234'::text))
         ->  Index Scan using logins_20140829_username on logins_20140829 logins  (cost=0.00..1.21 rows=1 width=14) (actual time=0.021..0.021 rows=0 loops=1)
               Index Cond: ((username)::text = 'bob'::text)


So it seems to me that the query parser isn't preprocessing "current_date - interval", but a statically defined time span *does* work.

Doesn't that seem weird?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux