Morgan Kita <mkita@verseon.com> writes:
> This should be a relatively simple question... I just made a custom type
> in C, which I will use to build an array in one of my tables. ...
> However, should array_eq be called for unique constraints? What am I
> missing here to get this system working?
array_eq couldn't care less whether you have an operator named '='.
What it wants to find is a default btree index opclass for your datatype.
That represents an actual assertion that the operators behave in a
certain way, whereas an operator merely named '=' might do anything.
There's a fair amount of other infrastructure that also relies on
btree opclasses to tell it how operators behave, so it's worth your
trouble to jump through this hoop.
regards, tom lane