Re: PRIMARY KEY on a *group* of columns imply that each column is NOT NULL?

From: "Guy Rouillier" <guyr(at)masergy(dot)com>
To: <pgsql-general(at)postgresql(dot)org>
Subject: Re: PRIMARY KEY on a *group* of columns imply that each column is NOT NULL?
Date: 2005-04-26 20:22:40
Message-ID: CC1CF380F4D70844B01D45982E671B239E87C4@mtxexch01.add0.masergy.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Stephane Bortzmeyer wrote:
> If I define a primary key:
>
> name TEXT NOT NULL,
> address INET,
> PRIMARY KEY(name, address)
>
> the definition (seen by \d) becomes:
>
> name | text | not null
> address | inet | not null
>
> "address" is now not null, which I do not want. It seems unnecessary:
> I just want the tuple (name, address) to be unique, which seems
> possible even if some 'address' values are NULL.
>
> It does not appear to be documented in
>
http://www.postgresql.org/docs/7.4/interactive/ddl-constraints.html#AEN1
975.
> Is there a workaround?

Per the SQL Commands Reference, under CREATE TABLE:

"The primary key constraint specifies that a column or columns of a
table may contain only unique (non-duplicate), nonnull values.
Technically, PRIMARY KEY is merely a combination of UNIQUE and NOT NULL"

Primary key columns cannot contain null values.

--
Guy Rouillier

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Darcy Buskermolen 2005-04-26 20:24:59 Re: OpenRPT (was Re: [ANNOUNCE] == PostgreSQL Weekly
Previous Message Steve - DND 2005-04-26 20:05:02 plruby on Windows