On Sun, Jun 27, 2021 at 9:41 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > "David G. Johnston" <david.g.johns...@gmail.com> writes: > > On Sun, Jun 27, 2021 at 11:18 AM Allan Kamau <kamaual...@gmail.com> > wrote: > >> Is it possible to declare a UNIQUE constraint that uses GIN indexing? > > > Doesn't seem to be possible. The btree_gin extension would provide the > > necessary code but it states explicitly that: > > "... and they lack one major feature of the standard B-tree code: the > > ability to enforce uniqueness." > > GIN stores all the component elements of its input values separately. > It'd be tremendously hard even to identify which inputs share exactly > the same component elements; let alone whether inputs sharing the > same elements should be considered "equal". For example, ARRAY[1,2] > and ARRAY[2,1] would give rise to identical sets of index entries in > a GIN array_ops index. > > In short, no, this isn't something you do with a GIN index. > > regards, tom lane >
Thank you David and Tom for your speedy and informative responses. Allan.