Re: how to use advanced gist options - Mailing list pgsql-hackers

From Jeff Davis
Subject Re: how to use advanced gist options
Date
Msg-id 1268689707.4053.224.camel@monkey-cat.sm.truviso.com
Whole thread Raw
In response to how to use advanced gist options  (Sergej Galkin <sergej.galkin@gmail.com>)
List pgsql-hackers
On Sun, 2010-03-14 at 06:50 -0700, Sergej Galkin wrote:
> 1) For example - can I delete entry in my picksplit procedure ?

No, entries are automatically removed by postgres; and only when the
underlying tuples in the table are removed (or they no longer match the
predicate of a partial index).

> 2) Or to add logical conditions - when picksplit node ?  For exampe
> change default "when number of entries of node is much than XX, split
> node" - to "when number of entries which element "state" is "on" is
> much than XX, split node ?"

No, GiST doesn't allow that kind of fine-grained control. It's meant to
be a level above those details.

You can actually write your own index access method and plug that in to
postgresql at runtime. This is substantially more difficult than using
GiST, of course. The other disadvantage is that there are (currently) no
hooks for WAL recovery, so a crash may require an index rebuild (btree,
gist, and gin are safe against this by using the WAL).

Regards,Jeff Davis



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Getting to beta1
Next
From: Josh Berkus
Date:
Subject: Re: Ragged latency log data in multi-threaded pgbench