Dynamically adding index types (was GIT indexes) - Mailing list pgsql-hackers

From Simon Riggs
Subject Dynamically adding index types (was GIT indexes)
Date
Msg-id 1190186143.4164.11.camel@ebony.site
Whole thread Raw
In response to Re: GIT patch  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Dynamically adding index types (was GIT indexes)
List pgsql-hackers
On Tue, 2007-08-07 at 17:03 -0400, Tom Lane wrote:
> "Simon Riggs" <simon@2ndquadrant.com> writes:
> > How hard will it be to add the infrastructure to allow new index types
> > to be added to the server dynamically?
> 
> INSERT INTO pg_am VALUES (...);
> 
> I don't really think we need more than that, at least not till non-core
> index AMs are a whole lot thicker on the ground than they are today.

We're able to dynamically add AMs in the way you suggest, but there is
no way to alter the RMgrTable to either add a new RM or re-assign one of
the unused RMs.

So we can add a new AM, but it can't write WAL in a different way to
existing RMs.

We could either:

1. Remove the "Const" in front of RmgrTable in rmgr.c. That would allow
re-assignment of the two existing unused RMs.

2. Create a new catalog table pg_rm and some brief machinery to populate
the RmgrTable from pg_rm. That would allow dynamically adding RMs.

Seems like we could do (1) for 8.3 easily enough.

Thoughts, please?

--  Simon Riggs 2ndQuadrant  http://www.2ndQuadrant.com




pgsql-hackers by date:

Previous
From: "Guillaume Smet"
Date:
Subject: Re: First steps with 8.3 and autovacuum launcher
Next
From: Simon Riggs
Date:
Subject: Re: Open issues for HOT patch