"Kynn Jones" <kynnjo(at)gmail(dot)com> writes:
> ALTER TABLE foo
> ADD CONSTRAINT foo_unique_xy
> UNIQUE ( UPPER( x ), UPPER( y ) );
> ...I get a syntax error
This is disallowed by the SQL standard: UNIQUE constraints can only be
on plain columns. (The practical reason for following their rule is
that there'd be no way to represent more-general constraints in the
information_schema.)
Use the CREATE UNIQUE INDEX syntax instead.
regards, tom lane