Custom index type for indexing long texts?

From: Aleksander Kmetec <aleksander(dot)kmetec(at)intera(dot)si>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Custom index type for indexing long texts?
Date: 2007-01-12 21:27:32
Message-ID: 45A7FD44.8070208@intera.si
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I'm looking for a solution for indexing long TEXT columns. We're currently using a HASH index, which can handle most
situations, but every now and then we need support for even longer texts.

One solution would be to create a functional index which would only use the first N chars of mycol, but then we'd have
to change several hundred occurences of "mycol = someval" with "(mycol = someval AND firstN(mycol) = firstN(someval))",
as well as update some SQL generators...

That's why I'd be interested to know if there are any index types available which store only the first N chars or use
some highly compressed form for storing index data, and then recheck any potential hits against the main table. And if
something like that does not exist yet, how difficult would it be to construct such a solution out of many "spare parts"
that come with PG?

All we really need is index support for the "=" operator; everything else is optional.
We're currently using PG 8.1.

I'd be grateful for any suggestions.

Regards,
Aleksander

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2007-01-12 21:41:57 Re: [GENERAL] Corrupt database? 8.1/FreeBSD6.0
Previous Message Jiří Němec 2007-01-12 21:16:22 Remove diacritical marks in SQL