Re: [HACKERS] How to implement a SP-GiST index as a extension module?

Поиск
Список
Период
Сортировка
От Oleg Bartunov
Тема Re: [HACKERS] How to implement a SP-GiST index as a extension module?
Дата
Msg-id CAF4Au4w5ke0QeiuYn2vx3u9PCdK1jYxxZGi_d=K2Cgw542eC7w@mail.gmail.com
обсуждение исходный текст
Ответ на [HACKERS] How to implement a SP-GiST index as a extension module?  (Connor Wolf <wolf@imaginaryindustries.com>)
Ответы Re: [HACKERS] How to implement a SP-GiST index as a extension module?  (Oleg Bartunov <obartunov@gmail.com>)
Список pgsql-hackers
On Sun, Oct 29, 2017 at 10:07 AM, Connor Wolf
<wolf@imaginaryindustries.com> wrote:
> Hi there!
>
> I'm looking at implementing a custom indexing scheme, and I've been having
> trouble understanding the proper approach.
>
> Basically, I need a BK tree, which is a tree-structure useful for indexing
> arbitrary discrete metric-spaces (in my case, I'm interested in indexing
> across the hamming edit-distance of perceptual hashes, for fuzzy image
> searching). I'm pretty sure a SP-GiST index is the correct index type, as my
> tree is intrinsically unbalanced.
>
> I have a functional stand-alone implementation of a BK-Tree, and it works
> very well, but the complexity of managing what is basically a external index
> for my database has reached the point where it's significantly problematic,
> and it seems to be it should be moved into the database.
>
> Anyways, looking at the contents of postgres/src/backend/access/spgist, it
> looks pretty straightforward in terms of the actual C implementation, but
> I'm stuck understanding how to "install" a custom SP-GiST implementation.
> There are several GiST indexing implementations in the contrib directory,
> but no examples for how I'd go about implementing a loadable SP-GiST index.
>
> Basically, my questions are:
>
> Is it possible to implement a SP-GiST indexing scheme as a loadable module?
>
> If so, how?
> And is there an example I can base my implementation off of?

Look on RUM access method ( https://github.com/postgrespro/rum ) we
developed using
api available since 9.6.


>
> I'm relatively comfortable with C (much moreso with C++), but I haven't
> spent a lot of time looking at the postgresql codebase.  I don't think I
> could start from a empty folder and make a properly-implemented module in
> any reasonable period of time, so if I have a working example for some sort
> of index that uses the same interfaces that would really help a lot.
>
> Thanks!
> Connor


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

В списке pgsql-hackers по дате отправления:

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: [HACKERS] An unlikely() experiment
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: [HACKERS] pow support for pgbench