Fabien COELHO <coelho@cri.ensmp.fr> writes:
> The issue is that when one does (in pg 8.3.5)
> ALTER TABLE foo ADD CONSTRAINT xxx UNIQUE ON (...);
> this results in a constraint *and* an index, but when one does only the
> corresponding:
> CREATE UNIQUE INDEX foo(...);
> then the index is created but there is no constraint.
This is intentional. You didn't create a constraint in the sense of the
SQL standard, and furthermore it may very well be impossible to
represent the index as a constraint in information_schema. (For
instance, the index might be functional or partial --- in fact, it most
likely is special in some way, or you'd not have bothered to use the
nonstandard syntax to make it.)
> Also, there is a minor bug in the documentation, which was the another
> source of my troubles:
> information_schema.KEY_COLUMN_USAGE.position_in_unique_constraint
> is tagged as "NOT IMPLEMENTED", but it looks like it is implemented.
Yeah, looks like the documentation is out of date there.
regards, tom lane