Re: [HACKERS] Proposal: Pluggable Optimizer Interface

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
Cc: Julius Stroffek <Julius(dot)Stroffek(at)Sun(dot)COM>, pgsql-performance(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] Proposal: Pluggable Optimizer Interface
Date: 2007-08-13 21:23:23
Message-ID: 22245.1187040203@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-performance

Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc> writes:
> Julius Stroffek wrote:
>> There is a proposal attached to this mail about the interface
>> we would like to implement for switching between different
>> optimizers. Please review it and provide a feedback to us.

> hmm - how does is that proposal different from what got implemented with:
> http://archives.postgresql.org/pgsql-committers/2007-05/msg00315.php

Well, it's a very different level of abstraction. The planner_hook
would allow you to replace the *entire* planner, but if you only want to
replace GEQO (that is, only substitute some other heuristics for partial
search of a large join-order space), doing it from planner_hook will
probably require duplicating a great deal of code. A hook right at the
place where we currently choose "geqo or regular" would be a lot easier
to experiment with.

Replacing GEQO sounds like a fine area for investigation to me; I've
always been dubious about whether it's doing a good job. But I'd prefer
a simple hook function pointer designed in the same style as
planner_hook (ie, intended to be overridden by a loadable module).
The proposed addition of a system catalog and SQL-level management
commands sounds like a great way to waste a lot of effort on mere
decoration, before ever getting to the point of being able to
demonstrate that there's any value in it. Also, while we might accept
a small hook-function patch for 8.3, there's zero chance of any of that
other stuff making it into this release cycle.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Julius Stroffek 2007-08-13 21:27:56 Re: [HACKERS] Proposal: Pluggable Optimizer Interface
Previous Message Andrew Dunstan 2007-08-13 20:27:47 Re: Testing the async-commit patch

Browse pgsql-performance by date

  From Date Subject
Next Message Kevin Grittner 2007-08-13 21:25:49 Re: Help optimize view
Previous Message Tom Lane 2007-08-13 21:01:40 Re: Stable function optimisation