While trying to find a case where spgist wins over btree for text, I
came across the following behavior which I would consider a bug:
CREATE TABLE texts (value text);
INSERT INTO texts SELECT repeat('a', (2^20)::integer);
CREATE INDEX ON texts USING spgist (value);
SET enable_seqscan = off;
TABLE texts;
That produces:
ERROR: index row requires 12024 bytes, maximum size is 8191
It seems to me the index should not be allowed to be created if it won't
be usable.
--
Vik Fearing +33 6 46 75 15 36
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support