Re: PostgreSQL Developer Best Practices - Mailing list pgsql-general

From Igor Neyman
Subject Re: PostgreSQL Developer Best Practices
Date
Msg-id A76B25F2823E954C9E45E32FA49D70ECCD5127D0@mail.corp.perceptron.com
Whole thread Raw
In response to Re: PostgreSQL Developer Best Practices  (Melvin Davidson <melvin6925@gmail.com>)
Responses Re: PostgreSQL Developer Best Practices
List pgsql-general

From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Melvin Davidson
Sent: Tuesday, August 25, 2015 8:18 PM
To: Adrian Klaver <adrian.klaver@aklaver.com>
Cc: Jerry Sievers <gsievers19@comcast.net>; John R Pierce <pierce@hogranch.com>; pgsql-general@postgresql.org
Subject: Re: [GENERAL] PostgreSQL Developer Best Practices

 

….

Before ANYONE continues to insist that a serial id column is good, consider the case where the number of tuples will exceed a bigint.

Don't say it cannot happen, because it can.

……………………

Melvin Davidson

 

Now, it’s easy to overcome this limitation.

You just make concatenated PK (id1, id2) with both columns of BIGINT type.

 

In general, I see the main advantage of artificial PK in NO NEED to change multiple child tables, when NATURAL key changes in the parent table.  And I never saw a system where NATURAL key wouldn’t need to be changed eventually.

So, my conclusion: use artificial PK (for db convenience)  and unique NATURAL key (for GUI representation).

 

Regards,

Igor Neyman

 

pgsql-general by date:

Previous
From: Kaushal Shriyan
Date:
Subject: Point in time recovery
Next
From: "David G. Johnston"
Date:
Subject: Re: PostgreSQL Developer Best Practices