pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tomasz Rybak <bogomips@post.pl>
To: pgsql-performance@postgresql.org
Subject: Re: Overriding the optimizer
Date: Fri, 16 Dec 2005 15:47:19 +0100
Message-ID: <1134744439.5124.7.camel@localhost.localdomain> (raw)
In-Reply-To: <43A231AA.9070708@paradise.net.nz>
References: <200512141603.52583.blargity@gmail.com>
	<7484.1134600423@sss.pgh.pa.us>
	<1134629567.14248.27.camel@firebolt>
	<200512150148.16125.blargity@gmail.com>
	<1134644526.14248.60.camel@firebolt>
	<43A1C40D.8040006@paradise.net.nz>
	<43A1F6DB.3080805@modgraph-usa.com>
	<43A226E7.7040508@paradise.net.nz>
	<43A22BE3.6020103@modgraph-usa.com>
	<43A231AA.9070708@paradise.net.nz>

Dnia 16-12-2005, pią o godzinie 16:16 +1300, Mark Kirkwood napisał(a):
> Craig A. James wrote:
> 
> > 
> > What would be cool would be some way the developer could alter the plan, 
> > but they way of doing so would strongly encourage the developer to send 
> > the information to this mailing list.  Postgres would essentially say, 
> > "Ok, you can do that, but we want to know why!"
> > 
> 
> Yeah it would - an implementation I have seen that I like is where the 
> developer can supply the *entire* execution plan with a query. This is 
> complex enough to make casual use unlikely :-), but provides the ability 
> to try out other plans, and also fix that vital query that must run 
> today.....

I think you could use SPI for that.
There is function SPI_prepare, which prepares plan,
and SPI_execute_plan, executing it.
These functions are defined in src/backend/executor/spi.c.

I think (someone please correct me if I'm wrong) you could
prepare plan yourself, instead of taking it from SPI_prepare,
and give it to SPI_execute_plan.

SPI_prepare calls _SPI_prepare_plan, which parses query and calls
pg_analyze_and_rewrite. In your version don't call this function,
but provide PostgreSQL with your own plan (not-optimised according to
PostrgeSQL, but meeting your criteria).

-- 
Tomasz Rybak <bogomips@post.pl>




view thread (41+ messages)  latest in thread

Message-ID: <1134744439.5124.7.camel@localhost.localdomain>
Permalink:  ../1134744439.5124.7.camel@localhost.localdomain/
Also on:    postgresql.org/message-id/1134744439.5124.7.camel@localhost.localdomain

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: bogomips@post.pl
  Subject: Re: Overriding the optimizer
  In-Reply-To: <1134744439.5124.7.camel@localhost.localdomain>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox