Search Postgresql Archives

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Mar 13, 2011 at 4:37 PM, Rob Sargent <robjsargent@xxxxxxxxx> wrote:
>
>
> Brian Hirt wrote:
>>
>> On Mar 13, 2011, at 12:05 PM, Dmitriy Igrishin wrote:
>>
>>> Hey Viktor,
>>>
>>> 2011/3/13 Viktor Nagy <viktor.nagy@xxxxxxxxxxx
>>> <mailto:viktor.nagy@xxxxxxxxxxx>>
>>>
>>>    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.

md5 will do that too: the main thing you lose going to hash indexing
is ordering.

merlin

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux