Re: Values larger than 1/3 of a buffer page cannot be indexed.

From: Brian Hirt <bhirt(at)me(dot)com>
To: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
Cc: Viktor Nagy <viktor(dot)nagy(at)toolpart(dot)hu>, pgsql-general(at)postgresql(dot)org
Subject: Re: Values larger than 1/3 of a buffer page cannot be indexed.
Date: 2011-03-13 21:15:22
Message-ID: 0CDA0378-42FF-4E19-A38B-77595AA67EAD@me.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mar 13, 2011, at 12:05 PM, Dmitriy Igrishin wrote:

> Hey Viktor,
>
> 2011/3/13 Viktor Nagy <viktor(dot)nagy(at)toolpart(dot)hu>
> hi,
>
> when trying to insert a long-long value, I get the following error:
>
> index row size 3120 exceeds maximum 2712 for index "ir_translation_ltns"
> HINT: Values larger than 1/3 of a buffer page cannot be indexed.
> Consider a function index of an MD5 hash of the value, or use full text indexing.
>
> is there a way to generate this recommended function index of an md5 hash on an already existing database and tables (filled with data)?
> Just create index this way, e.g.
> CREATE INDEX ir_translation_ltns ON tab ((md5(col)));
> where "tab" and "col" are table and column of which you want
> to create btree index.

This probably goes without saying, but you'll have to use col = md5('blahblahblahblah') in your qualifiers to get the benefit of the index.

--brian

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rob Sargent 2011-03-13 21:37:41 Re: Values larger than 1/3 of a buffer page cannot be indexed.
Previous Message Dmitriy Igrishin 2011-03-13 18:05:14 Re: Values larger than 1/3 of a buffer page cannot be indexed.