Re: [PATCHES] [Fwd: Index Advisor] - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [PATCHES] [Fwd: Index Advisor]
Date
Msg-id 200701081628.l08GS7V29617@momjian.us
Whole thread Raw
In response to Re: [PATCHES] [Fwd: Index Advisor]  ("Simon Riggs" <simon@2ndquadrant.com>)
Responses Re: [PATCHES] [Fwd: Index Advisor]  ("Simon Riggs" <simon@2ndquadrant.com>)
List pgsql-hackers
Simon Riggs wrote:
> On Sat, 2007-01-06 at 16:08 -0500, Bruce Momjian wrote:
> 
> > I have looked over this patch, and it completes part of this TODO item:
> > 
> >         o Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
> >           ANALYZE, and CLUSTER
> 
> > It involves a patch to the backend, and a /contrib module to access it.
> > 
> > I think we have to decide if we want this, and whether it should be in
> > /contrib or fully integrated into the backend.  I am thinking the API
> > needs to be simpified, perhaps by removing the system table and having
> > the recommendations just logged to the server logs.
> 
> The patch to the backend is in the form of a plugin API, which does
> nothing when there is no plugin. IMHO there is a significant amount of
> code there and it is too early to try to get all of that into the
> backend, especially when more tested things like Tsearch2 haven't.
> Plugins are cool because we can update them without needing to bounce a
> production server, which means the code can evolve faster than it would
> do if it was directly in the backend. (You do need to reconnect to allow
> local_preload_libraries to be re-read). Tuning out the wierd
> recommendations will take some time/effort - I don't know there are any,
> but then my gut tells me there very likely are some.
> 
> The output isn't a system table, its a user space table. The reason for
> having an output table is that we can use multiple invocations of the
> adviser to build up a set of new indexes for a complete workload.
> Reading things back out of the log would make that more difficult, since
> we really want this to be automated by pgAdmin et al.

The complex part of this is that the feature requires patches to the
backend, and has a /contrib component.  If it could be just in /contrib,
I agree we would just keep it there until there is a clear direction,
but having it in both places seems difficult.  I don't think we can
maintain a patch to the backend code in /contrib, so it would have to
ship with our backend code.  That's why I was asking about getting it
integrated fully.

--  Bruce Momjian   bruce@momjian.us EnterpriseDB    http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Hannu Krosing
Date:
Subject: Re: (SETOF) RECORD AS complex_type
Next
From: Bruce Momjian
Date:
Subject: Re: 8.3 pending patch queue