Dynamically adding index types (was GIT indexes)

From: Simon Riggs <simon(at)2ndquadrant(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Dynamically adding index types (was GIT indexes)
Date: 2007-09-19 07:15:43
Message-ID: 1190186143.4164.11.camel@ebony.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 2007-08-07 at 17:03 -0400, Tom Lane wrote:
> "Simon Riggs" <simon(at)2ndquadrant(dot)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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gregory Stark 2007-09-19 08:12:30 Re: Open issues for HOT patch
Previous Message Guillaume Smet 2007-09-19 07:08:58 Re: First steps with 8.3 and autovacuum launcher