Search Postgresql Archives

Re: Is PRIMARY KEY the same as UNIQUE NOT NULL?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7 February 2016 at 21:04, Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
> Geoff Winkless <pgsqladmin@xxxxxxxx> writes:
>> On 31 January 2016 at 19:53, David G. Johnston
>> <david.g.johnston@xxxxxxxxx> wrote:
>>> A PRIMARY KEY enforces a UNIQUE, NOT NULL constraint and additionally allows
>
>> I would just remove the whole paragraph. A primary key does what it
>> does, a unique constraint does what it does. I'm not really sure why
>> you need to link them.
>
> I think it is useful to compare them; the only problem is claiming that
> they're equivalent.
>
> http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c477e84fe2471cb675234fce75cd6bb4bc2cf481

I maintain that

", which are functionally almost the same thing,"

just muddies the waters for no reason: I would make it

"(There can be any number of constraints that are unique and not-null
but only one primary key.)"

It makes it clear that anyone who wants to achieve the unique-not-null
nature of the PK on two sets of columns can do so, but anyone looking
for any other feature of the PK will not get confused into thinking
that there may be some equivalency that does not exist.

(note I also reworded unique and not-null constraints, since otherwise
there's a potential confusion whether you mean you can have any number
of unique constraints and any number of not-null constraints or
whether you mean any number of "unique and not-null" constraints...)

Geoff


-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux