Re: Default gin operator class of jsonb failing with index row size maximum reached

From: Peter Geoghegan <pg(at)heroku(dot)com>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Default gin operator class of jsonb failing with index row size maximum reached
Date: 2014-04-08 18:54:16
Message-ID: CAM3SWZTb+JU8faFpY4Qg0XzHmU4MqYqr0nh2AyYPON68yqaJeg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Apr 7, 2014 at 8:29 PM, Michael Paquier
<michael(dot)paquier(at)gmail(dot)com> wrote:
> Documentation of jsonb tells that jsonb documents should be kept at a
> reasonable size to reduce lock contention, but there is no mention of
> size limitation for indexes:
> http://www.postgresql.org/docs/devel/static/datatype-json.html

It seems like your complaint is that this warrants special
consideration from the jsonb docs, due to this general limitation
being particularly likely to affect jsonb users. Is that accurate?

The structure of the JSON in your test case is quite atypical, since
there is one huge string containing each of the translations, rather
than a bunch of individual array elements (one per translation) or a
bunch of object pairs.

As it happens, just this morning I read that MongoDB's new version 2.6
now comes with stricter enforcement of key length:
http://docs.mongodb.org/master/release-notes/2.6-compatibility/#index-key-length-incompatibility
. While previous versions just silently failed to index values that
were inserted, there is now a 1024 limit imposed on the total size of
indexed values.

--
Peter Geoghegan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2014-04-08 19:10:01 Re: B-Tree support function number 3 (strxfrm() optimization)
Previous Message Alvaro Herrera 2014-04-08 18:44:34 Re: ipc_test