On 2014-10-10 19:44, Kevin Grittner wrote:
> Peter Geoghegan <pg@heroku.com> wrote:
>> People keep remarking that they don't like that you can (optionally)
>> name a unique index explicitly,
[...]
> To restate: to do so is conflating the logical definition of the
> database with a particular implementation detail. As just one
> reason that is a bad idea: we can look up unique indexes on the
> specified columns, but if we implement a other storage techniques
> where there is no such thing as a unique index on the columns, yet
> manage to duplicate the semantics (yes, stranger things have
> happened), people can't migrate to the new structure without
> rewriting their queries
Wouldn't it be good enough to define the 'WITHIN' as expecting a
unique-constraint name rather than an index name (even though those
happen to be the same strings)?
I think constraints are part of the logical definition of the database,
and a new storage technique which doesn't use indexes should still have
names for its unique constraints.
-M-