Partitioned tables not using index for min and max 8.2.7? - Mailing list pgsql-sql

From Tim Haak
Subject Partitioned tables not using index for min and max 8.2.7?
Date
Msg-id 4A4B91FF.8040308@lucidview.net
Whole thread Raw
Responses Re: Partitioned tables not using index for min and max 8.2.7?
List pgsql-sql
Hi

I am running the following query again a partitioned table in 8.2.7. It does index scans which is unexpected as there are indexes for the log_date column.

min(log_date) from data.table

"Aggregate  (cost=739932.02..739932.02 rows=1 width=8)"
"  ->  Append  (cost=0.00..685106.21 rows=21930321 width=8)"
"        ->  Seq Scan on table  (cost=0.00..33827.10 rows=1215710 width=8)"
"        ->  Seq Scan on table_yy2009mm03 table  (cost=0.00..88056.39 rows=438839 width=8)"
"        ->  Seq Scan on table_yy2009mm04 table  (cost=0.00..204606.67 rows=7344967 width=8)"
"        ->  Seq Scan on table_yy2009mm05 table  (cost=0.00..159210.91 rows=5735091 width=8)"
"        ->  Seq Scan on table_yy2009mm06 table  (cost=0.00..199393.74 rows=7195574 width=8)"
"        ->  Seq Scan on table_yy2009mm07 table  (cost=0.00..11.40 rows=140 width=8)"

though if i run it only agains the one table it is significantly faster and uses the index

select min(log_date) from only data.table

"Result  (cost=0.06..0.07 rows=1 width=0)"
"  InitPlan"
"    ->  Limit  (cost=0.00..0.06 rows=1 width=8)"
"          ->  Index Scan using idx_table_log_date_only on table  (cost=0.00..68272.93 rows=1215710 width=8)"
"                Filter: (log_date IS NOT NULL)"

Am I doing something wrong or is this expected.

I tried the old method of

SELECT col FROM table ORDER BY col DESC LIMIT 1

But it does not work either.


-- 
Tim Haak
Email:  timh@lucidview.net
Tel:      +27 12 658 9019
Attachment

pgsql-sql by date:

Previous
From: "Tena Sakai"
Date:
Subject: Re: it's not NULL, then what is it?
Next
From: Tom Lane
Date:
Subject: Re: it's not NULL, then what is it?