On 09/08/18 21:09, Bruce Momjian wrote: > On Thu, Aug 9, 2018 at 01:11:05PM +0300, KES wrote: >> Bruce: >>> Yes, it would work, but doing that only for equality would be >>> surprising >> to many people >> >> Why surprising? It is >> [documented](https://www.postgresql.org/docs/current/static/sql-create >> table.html#sql-createtable-exclude): >>> If all of the specified operators test for equality, this is >>> equivalent to a UNIQUE constraint, although an ordinary unique >>> constraint will be faster. >> >> Thus the UNIQUE constraint is just particular case of exclusion >> constraint, is not? > > Well, for me a UNIQUE constraint guarantees each discrete value is > unique, while exclusion constraint says discrete or ranges or geometric > types don't overlap. I realize equality is a special case of discrete, > but having such cases be marked as UNIQUE seems too confusing.
One of the things I'm currently trying to implement is the WITHOUT OVERLAPS for UNIQUE constraints. See SQL:2016 section 11.7 <unique constraint definition> -- Vik Fearing +33 6 46 75 15 36 http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support