Re: EXCLUDE, Gist and integers
От | Ken Tanzer |
---|---|
Тема | Re: EXCLUDE, Gist and integers |
Дата | |
Msg-id | CAD3a31X6hkx8F+SSiGFWzfX86mh54pEO1PjCpvn+cmZNHLRs+Q@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: EXCLUDE, Gist and integers (Guillaume Lelarge <guillaume@lelarge.info>) |
Список | pgsql-general |
Hi,
Le 16 juil. 2015 2:23 AM, "Ken Tanzer" <ken.tanzer@gmail.com> a écrit :
>
> Hi. I'm looking into adding daterange exclusions to some of my tables. Following the documentation, I can do this no problem to prevent any records from overlapping:
>
> CREATE TEMP TABLE foo (
> client_id integer,
> start_date date NOT NULL,
> end_date date,
> EXCLUDE using gist (daterange(start_date,end_date) with &&)
> );
>
> But what I really want is no overlapping records on a per-client basis. I optimistically tried this:
>
> CREATE TEMP TABLE foo (
> client_id integer,
> start_date date NOT NULL,
> end_date date,
> EXCLUDE using gist (daterange(start_date,end_date) with &&,client_id with =)
> );
>
> But Postgres responds thusly:
>
> ERROR: data type integer 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.
>
> Can someone tell me what's the easiest way to make this work? Thanks in advance!
>You should install the btree_gist extension.

В списке pgsql-general по дате отправления: