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


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°


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to