From: | Carsten Kropf <ckropf2(at)fh-hof(dot)de> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: TOAST issue on custom index access method |
Date: | 2010-06-24 14:53:57 |
Message-ID: | A7288DD3-850A-4B09-AE60-453E5D0100ED@fh-hof.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Oh,
thanks. I didn't know about index tables not having access to associated toast values. The index access method is (at least in the textual part) similar to GIN, however, I needed to do some changes to it. Saving the whole document is actually only important for vacuum. I think, I will find some workaround to solve this issue.
However, it is a little bit strange, that I get toasted values (when inserting from another table) and untoasted values, if I insert items directly. Could anybody please explain this to me?
Best regards
Carsten Kropf
Am 24.06.2010 um 16:20 schrieb Tom Lane:
> Carsten Kropf <ckropf2(at)fh-hof(dot)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 whole inside 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 documents are quite small. However, if the tsvector becomes too large, I run into a problem of not being able to store the documents, 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(Datum value)'in order to compress the tsvector into a proper toast table.
>
> Indexes don't have toast tables.
>
> regards, tom lane
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-06-24 15:08:34 | Re: TOAST issue on custom index access method |
Previous Message | Robert Haas | 2010-06-24 14:45:45 | Re: [COMMITTERS] pgsql: Add TCP keepalive support to libpq. |