Re: "RETURNING PRIMARY KEY" syntax extension - Mailing list pgsql-hackers

From Andres Freund
Subject Re: "RETURNING PRIMARY KEY" syntax extension
Date
Msg-id 20140611002600.GQ8406@alap3.anarazel.de
Whole thread Raw
In response to Re: "RETURNING PRIMARY KEY" syntax extension  (Vik Fearing <vik.fearing@dalibo.com>)
Responses Re: "RETURNING PRIMARY KEY" syntax extension  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 2014-06-11 00:21:58 +0200, Vik Fearing wrote:
> On 06/09/2014 07:13 PM, Andres Freund wrote:
> > On 2014-06-09 13:42:22 +0200, Vik Fearing wrote:
> >> On 06/09/2014 09:06 AM, Gavin Flower wrote:
> >>> From memory all unique keys can be considered 'candidate primary keys',
> >>> but only one can be designated 'the PRIMARY KEY'.
> >>
> >> Almost.  Candidate keys are also NOT NULL.
> > 
> > The list actually is a bit longer. They also cannot be partial.
> 
> What?  AFAIK, that only applies to an index.  How can the data itself be
> partial?

I don't follow? Gavin above talked about unique keys - which in postgres
you can create using CREATE UNIQUE INDEX. And if you make those partial
they can't be used for this purpose.

> > There's generally also the restriction that for some contexts - like
> > e.g. foreign keys - primary/candidate keys may not be deferrable..
> 
> Again, what is deferrable data?

You can define primary/unique constraints to be deferrable. c.f. CREATE
TABLE docs.

Greetings,

Andres Freund

-- Andres Freund                       http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Re: why postgresql define NTUP_PER_BUCKET as 10, not other numbers smaller
Next
From: Tom Lane
Date:
Subject: Re: "RETURNING PRIMARY KEY" syntax extension