Re: TOAST issue on custom index access method - Mailing list pgsql-hackers

From Tom Lane
Subject Re: TOAST issue on custom index access method
Date
Msg-id 12591.1277389210@sss.pgh.pa.us
Whole thread Raw
In response to TOAST issue on custom index access method  (Carsten Kropf <ckropf2@fh-hof.de>)
Responses Re: TOAST issue on custom index access method  (Carsten Kropf <ckropf2@fh-hof.de>)
List pgsql-hackers
Carsten Kropf <ckropf2@fh-hof.de> writes:
> I have a strange issue using a custom built index structure. My index access method support document type composed of
words(as tsvector) and points (1-dimensional arrays of them). For internal reasons, I have to save the documents as a
wholeinside my structure (for proper reorganisations).
 
> So, I form the tuples using index_form_tuple with the proper description. Everything works fine, as long as the
documentsare quite small. However, if the tsvector becomes too large, I run into a problem of not being able to store
thedocuments, because (obviously) the tsvector is too large for one page.
 

Well, of course.  I think this is a fundamentally bad index design.  You
didn't say exactly what sort of searches you want this index type to
accelerate, but perhaps you need a design closer to GIN, in which you'd
make index entries for individual words not whole documents.

> What I tried to solve this issue here, is to extract the words from the document (in my index) and calling 'Datum
toast_compress_datum(Datumvalue)'in order to compress the tsvector into a proper toast table.
 

Indexes don't have toast tables.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [COMMITTERS] pgsql: Add TCP keepalive support to libpq.
Next
From: Robert Haas
Date:
Subject: Re: [COMMITTERS] pgsql: Add TCP keepalive support to libpq.