Trying to use GIST indexes again

Lists: pgsql-general
From: Greg Stark <gsstark(at)mit(dot)edu>
To: pgsql-general(at)postgresql(dot)org
Subject: Trying to use GIST indexes again
Date: 2004-08-03 15:05:28
Message-ID: 87vfg0mfd3.fsf@stark.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general


What does this mean?

test=> create index cache_i_gist_sl on cache using gist (r_id, sl_ids);
ERROR: index row requires 8216 bytes, maximum size is 8191

Postgres 7.4.2
I have btree_gist and intarray loaded.
r_id is an integer, sl_ids is an int[].

Does it simply mean one of the int arrays is too large? Most of them have 0,
1, or 2, but there are the occasional entries with up to 2,141 elements.

--
greg


From: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>
To: Greg Stark <gsstark(at)mit(dot)edu>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Trying to use GIST indexes again
Date: 2004-08-06 18:55:50
Message-ID: 20040806185550.GH5167@dcc.uchile.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-general

On Tue, Aug 03, 2004 at 11:05:28AM -0400, Greg Stark wrote:

> test=> create index cache_i_gist_sl on cache using gist (r_id, sl_ids);
> ERROR: index row requires 8216 bytes, maximum size is 8191
>
> Postgres 7.4.2
> I have btree_gist and intarray loaded.
> r_id is an integer, sl_ids is an int[].
>
> Does it simply mean one of the int arrays is too large? Most of them have 0,
> 1, or 2, but there are the occasional entries with up to 2,141 elements.

Yes. Probably you could work around that by using a larger BLCKSZ ...

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
One man's impedance mismatch is another man's layer of abstraction.
(Lincoln Yeoh)