From: | Rob Sargent <robjsargent(at)gmail(dot)com> |
---|---|
To: | Brian Hirt <bhirt(at)me(dot)com> |
Cc: | Dmitriy Igrishin <dmitigr(at)gmail(dot)com>, 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:37:41 |
Message-ID: | 4D7D3925.9070707@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Brian Hirt wrote:
> 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
>> <mailto: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
Unless the point is to guarantee uniqueness of the "long-long value"s.
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Evens | 2011-03-14 07:57:07 | primary key |
Previous Message | Brian Hirt | 2011-03-13 21:15:22 | Re: Values larger than 1/3 of a buffer page cannot be indexed. |