Re: new index type with clustering in mind. - Mailing list pgsql-general

From Tom Lane
Subject Re: new index type with clustering in mind.
Date
Msg-id 8144.1400967986@sss.pgh.pa.us
Whole thread Raw
In response to Re: new index type with clustering in mind.  (Martijn van Oosterhout <kleptog@svana.org>)
Responses Re: new index type with clustering in mind.  ("Jack Douglas" <jack@douglastechnology.co.uk>)
Re: new index type with clustering in mind.  ("Jack Douglas" <jack@douglastechnology.co.uk>)
Re: new index type with clustering in mind.  ("Jack Douglas" <jack@douglastechnology.co.uk>)
List pgsql-general
Martijn van Oosterhout <kleptog@svana.org> writes:
> On Sat, May 24, 2014 at 05:58:37PM +0100, Jack Douglas wrote:
>> Would the following be practical to implement:
>> A btree-like index type that points to *pages* rather than individual rows.

> It's an interesting idea, but, how can you *ever* delete index entries?
> I.e. is there a way to maintain the index without rebuilding it
> regularly?

The discussions at PGCon pointed out that with the posting-list
compression logic added in 9.4, GIN indexes are pretty close to this
already.  Multiple items on the same heap page will typically only take
one byte of index space per item; but there is an identifiable entry, so
you don't get into these questions of when VACUUM should remove entries,
and it's not lossy so you're not forced to pay the overhead of rechecking
every entry on the linked-to page.

Not to say that 9.4 GIN is necessarily the last word on the subject, but
it would be worth testing it out before deciding that we need something
better.  (beta1 is out.  It needs testing.  Hint hint.)

            regards, tom lane


pgsql-general by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: new index type with clustering in mind.
Next
From: David Noel
Date:
Subject: Re: Re: COPY TO returns "ERROR: could not open file for writing: No such file or directory"