Scara Maccai wrote:
> > Huh, clearly not the same query (you're using the partition directly
> > in the first query) ... Doing two changes at once is not helping
> > your case.
>
> Sorry, I don't understand... of course I used the partition directly
> in the first query... it's the difference between the two... what I
> don't like is that since the tables used are in fact the same, the
> plan shouldn't be that different.
I misread your original email to say that you were changing the
parameter. What version are you using? Also, please post the table
definitions (preferably in pg_dump -s format)
> My conclusion is that the planner thinks there could be some data in
> the "root" partition, even if that will always be empty.
> What I would like is a way to tell Postgres "hey, don't even look at
> the root table. That's just a placeholder for the partitions. It will
> never contain any data" when I create the tables.
>
> Otherwise the planner might get fooled by an empty table index scan in
> a loop (which is what happens here), thinking that that will take
> time.
I'm not sure I agree with your assessment of the problem.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.