[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pgsql-bugs
Subject:    Re: [BUGS] BUG #6112: heuristic for empty parent tables that are
From:       Robert Haas <robertmhaas () gmail ! com>
Date:       2011-07-18 14:58:50
Message-ID: CA+TgmoZjwARK+ubZu_O6WEg7=RXAHqpu0b5jRuWOt7qn3LXj+A () mail ! gmail ! com
[Download RAW message or body]

On Mon, Jul 11, 2011 at 12:51 PM, Anish Kejariwal <anishkej@gmail.com> wrote:
>
> The following bug has been logged online:
>
> Bug reference:      6112
> Logged by:          Anish Kejariwal
> Email address:      anishkej@gmail.com
> PostgreSQL version: 9.0.3
> Operating system:   Linux
> Description:        heuristic for empty parent tables that are members of
> inheritance trees
> Details:
>
> Hello,
>
> I'm filing this issue as a bug, and it seems like Tom Lane agrees that there
> is a bug, and said: " maybe we should reconsider the heuristic for tables
> that are members of inheritance trees --- particularly parents of
> inheritance trees."
>
> All information is in:
> http://archives.postgresql.org/pgsql-performance/2011-07/msg00063.php
>
> Scenario:
> -empty parent table
> -all data is in child/partitioned tables
>
> Bug:
> optimizer considers the parent table to be empty.
>
> Result: The execution plan is incorrect.  My particularly query took 25
> seconds with the wrong execution plan, but 0.3 seconds with the correct
> execution plan.
>
> Work around:
> Tom Lane suggested the following workaround to "defeat the empty-table
> heuristic:
> update pg_class set relpages = 1 where relname = 'icecream';
>
> I'm using this work around for now, but I don't think this is acceptable.
> If someone were to accidentally run vacuum analyze on the parent table, then
> the relpages will be set back to zero, and the query will run slowly.
>
> Please let me know if you have any questions.

Tom fixed this in commit f3ff0433ab32fdc69da3c8f8e691ef6b4366559c on July 14th.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic