Thread: array exclusion constraints

array exclusion constraints

From
francisk@hush.com
Date:
CREATE TABLE test (  foo text[],  EXCLUDE USING gist (foo WITH &&)
);

ERROR:  data type text[] 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.

It looks like exclusion constraints don't work with arrays, there's no gist opclass for them. This would be a nice to
havefeature and, if I recall correctly, exclusion constraints were meant to work both with ranges and arrays. Am I
missingsomething?
 

Regards,
Francis




Re: array exclusion constraints

From
Antonin Houska
Date:
francisk@hush.com wrote:
>
> CREATE TABLE test (
>    foo text[],
>    EXCLUDE USING gist (foo WITH &&)
> );
>
> ERROR:  data type text[] 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.
>
> It looks like exclusion constraints don't work with arrays, there's no gist opclass for them. This would be a nice to
havefeature and, if I recall correctly, exclusion constraints were meant to work both with ranges and arrays. Am I
missingsomething? 

I recall I spent some time thinking about this issue, and even could find the
link (also referenced in "Indexes" section of
https://wiki.postgresql.org/wiki/TODO)

http://www.postgresql.org/message-id/CA+TgmobZhfRJNyz-fyw5kDtRurK0HjWP0vtP5fGZLE6eVSWCQw@mail.gmail.com

Regarding implementation, more recent thread summarizes the difficulties:

http://www.postgresql.org/message-id/5297DC17.7000608@proxel.se

--
Antonin Houska
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt
Web: http://www.postgresql-support.de, http://www.cybertec.at