Re: Primary keys and composite unique keys(basic question) - Mailing list pgsql-general

From Peter J. Holzer
Subject Re: Primary keys and composite unique keys(basic question)
Date
Msg-id 20210408113911.GA6440@hjp.at
Whole thread Raw
In response to Re: Primary keys and composite unique keys(basic question)  (Rob Sargent <robjsargent@gmail.com>)
List pgsql-general
On 2021-04-07 10:35:55 -0600, Rob Sargent wrote:
>     On Apr 7, 2021, at 10:17 AM, Ron <ronljohnsonjr@gmail.com> wrote:
>
>     On 4/5/21 9:37 PM, Rob Sargent wrote:
>
>             It's a small thing, but UUIDs are absolutely not memorizable by
>             humans; they have zero semantic value.  Sequential numeric
>             identifiers
>             are generally easier to transpose and the value gives some clues to
>             its age (of course, in security contexts this can be a downside).
>
>
>         I take the above as a definite plus.  Spent too much of my life
>         correcting others’ use of “remembered” id’s that just happened to
>         perfectly match the wrong thing.
>
>
>     People seem to have stopped appending check digits to identifiers about 20
>     years ago, and I'm not sure why.
>
>
> No the problem is “start from one”. User has item/I’d 10875 in hand and types
> in 10785 which of course in a sequence supplied ID steam is perfectly valid and
> wrong.  Really hard to track down.

What I've often done when writing software for an Oracle RDBMS is to use
a global sequence instead of one sequence per table (Oracle didn't have
a SERIAL type, so you had to use an explicit sequence and write trigger
anyway). That caught wrong joins (an id value used in one table is never
used in another table) as well as most typos (since ids in a single
table were not dense).

With PostgreSQL I've stopped doing this since the SERIAL type makes it
much more convenient to have a separate sequence per table. But of
course that means that almost any table will have a row with id 10785
and one with 10875.

        hp

--
   _  | Peter J. Holzer    | Story must make more sense than reality.
|_|_) |                    |
| |   | hjp@hjp.at         |    -- Charles Stross, "Creative writing
__/   | http://www.hjp.at/ |       challenge!"

Attachment

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: could not receive data from client: Connection reset by peer
Next
From: Kevin Brannen
Date:
Subject: RE: Check constraint failure messages