Re: Default operator class for data type boolean for access method gist is missing
Andreas Kretschmer <akretschmer@spamfence.net>
From: Andreas Kretschmer <akretschmer@spamfence.net>
To: pgsql-general@postgresql.org
Date: 2014-03-23T08:59:27Z
Lists: pgsql-general
Andreas Joseph Krogh <andreak@officenet.no> wrote: > I'm trying to define the following exclusion-constraint > > > alter table my_table add EXCLUDE USING gist (is_default WITH =, daterange(valid_from, valid_to, '[)') WITH &&) WHERE (is_default = true); > > > But it fails with: > ERROR: data type boolean has no default operator class for access method > "gist" > HINT: You must specify an operator class for the index or define a default > operator class for the data type. > > I have the btree_gist extension installed. > > So, my question is; Is there an existing operator-class I can install to make > this work, and if not - how do I make it? CAST is to int? test=# create table xx(b bool, tr tsrange, exclude using gist(b with =, tr with &&)); ERROR: data type boolean has no default operator class for access method "gist" HINT: You must specify an operator class for the index or define a default operator class for the data type. Time: 3,160 ms test=*# create table xx(b bool, tr tsrange, exclude using gist((b::int) with =, tr with &&)); CREATE TABLE Time: 3,621 ms Andreas -- Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) "If I was god, I would recompile penguin with --enable-fly." (unknown) Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°