På søndag 23. mars 2014 kl. 09:59:27, skrev Andreas Kretschmer < akretsch...@spamfence.net <mailto:akretsch...@spamfence.net>>: Andreas Joseph Krogh <andr...@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 Nice workaround, thanks. -- Andreas Joseph Krogh <andr...@officenet.no> mob: +47 909 56 963 Senior Software Developer / CTO - OfficeNet AS - http://www.officenet.no Public key: http://home.officenet.no/~andreak/public_key.asc