On Thu, Dec 25, 2014 at 1:44 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> robert.thaler@cellent.at writes:
>> I tried to upgrade from postgres 9.3.5 and imported a database export
>> created by pg_dump. the import shows the following error:
>> ERROR: index row size 1480 exceeds
>> maximum 1352 for index "idx_sm_post_content"
>
> I've looked into this (thanks to Robert for the test data), and the short
> answer is that commit 36a35c55 approximately halved GinMaxItemSize:
>
> #define GinMaxItemSize \
> - MAXALIGN_DOWN(((BLCKSZ - SizeOfPageHeaderData - \
> - MAXALIGN(sizeof(GinPageOpaqueData))) / 3 - sizeof(ItemIdData)))
> + Min(INDEX_SIZE_MASK, \
> + MAXALIGN_DOWN(((BLCKSZ - SizeOfPageHeaderData - \
> + MAXALIGN(sizeof(GinPageOpaqueData))) / 6 - sizeof(ItemIdData))))
>
> What was the rationale for deciding that GIN has to be able to fit six
> tuples per page??? This is going to create serious dump/reload hazards
> for a lot of users.
Not completely related, but I just recalled seeing the same
limitations with jsonb:
http://www.postgresql.org/message-id/CAB7nPqT8OYHCPKU4nMYdqa_xZH1+8JFbtP=B+kjk6RZU5zGxGg@mail.gmail.com
--
Michael