From: | Rob Sargent <rsargent(at)xmission(dot)com> |
---|---|
To: | Forums postgresql <pgsql-general(at)postgresql(dot)org> |
Subject: | gin index trouble |
Date: | 2017-10-27 22:15:38 |
Message-ID: | A5C88C48-4573-453B-BF52-3B34A97D7A0A@xmission.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I’ve hit this same message
Caused by: org.postgresql.util.PSQLException: ERROR: right sibling of GIN page is of different type
in a couple of contexts and I’m starting to get worried.
I’ve rebuilt the index, but will that help?
Is there a way to see what the ‘different type’ is?
Is it caught/clean-up by vacuum analyse or some such?
I’ve had good results using “<@" and “@>” and believe I've defended the use of an array, but I can’t loose three days worth of simulations to this dang wrong sibling.
select version(); — will use production release of 10 next week.
version
------------------------------------------------------------------------------------------------------------
PostgreSQL 10beta3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11), 64-bit
The only gin index I have is in this table definition:
\d sui.probandset
Table "sui.probandset"
Column | Type | Modifiers
-------------+------------------+-----------
id | uuid | not null
name | text |
probands | uuid[] | not null
meioses | integer |
min_kincoef | double precision |
max_kincoef | double precision |
people_id | uuid | not null
Indexes:
"probandset_pkey" PRIMARY KEY, btree (id)
"probandsetunique" gin (probands)
Check constraints:
"sortedset" CHECK (issorteduuids(probands))
Foreign-key constraints:
"probandset_people_id_fkey" FOREIGN KEY (people_id) REFERENCES base.people(id)
Referenced by:
TABLE "sui.probandset_group_member" CONSTRAINT "probandset_group_member_member_id_fkey" FOREIGN KEY (member_id) REFERENCES sui.probandset(id)
TABLE "sui.segment" CONSTRAINT "segment_probandset_id_fkey" FOREIGN KEY (probandset_id) REFERENCES sui.probandset(id)
and I um, er, enabled gin on uuid by copying from a thread in this list, as follows:
create operator class _uuid_ops
default for type _uuid
using gin as
operator 1 &&(anyarray, anyarray)
,operator 2 @>(anyarray, anyarray)
,operator 3 <@(anyarray, anyarray)
,operator 4 =(anyarray, anyarray)
,function 1 uuid_cmp(uuid, uuid)
,function 2 ginarrayextract(anyarray, internal, internal)
,function 3 ginqueryarrayextract(anyarray, internal, smallint, internal, internal, internal, internal)
,function 4 ginarrayconsistent(internal, smallint, anyarray, integer, internal, internal, internal, internal)
,storage uuid;
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Janes | 2017-10-27 23:05:12 | Re: Where to find development builds of pg for windows |
Previous Message | Justin Pryzby | 2017-10-27 19:30:26 | Re: Why does a SELECT query cause "dirtied" buffers? |