Re: PK with an expression in field list - Mailing list pgsql-general

From Tom Lane
Subject Re: PK with an expression in field list
Date
Msg-id 1070.1148499886@sss.pgh.pa.us
Whole thread Raw
In response to PK with an expression in field list  ("Alejandro Michelin Salomon \( Adinet \)" <alejmsg@adinet.com.uy>)
Responses RES: PK with an expression in field list
List pgsql-general
"Alejandro Michelin Salomon \( Adinet \)" <alejmsg@adinet.com.uy> writes:
> I need create a PK for a table.
> This PK has 3 fields.
> PK is : CONSTRAINT ff_navios PRIMARY KEY ( idempresa, idarmador, UPPER( nome
> ) )
> But seems not work.

You can't define a primary key on an expression.  The SQL standard says
so, and even if we wanted to generalize the standard here, we'd have a
bit of a problem with how it'd show up in the information_schema.

You can, however, create a unique index over those values and get pretty
much the same effect.

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: meaning of PQresultStatus types
Next
From: Michael Ben-Nes
Date:
Subject: I dont get it, dump / restore failures to the same cluster.