From: Josh Berkus <josh@agliodbs.com>
To: pgsql-hackers@postgresql.org
Cc: nathan wagner <nw@hydaspes.if.org>
Subject: Re: uuid type for postgres
Date: Wed, 7 Sep 2005 11:31:16 -0700
Message-ID: <200509071131.17161.josh@agliodbs.com> (raw)
In-Reply-To: <20050907171912.GA6427@granicus.if.org>
References: <20050906135057.GA24136@granicus.if.org>
<200509070948.08307.josh@agliodbs.com>
<20050907171912.GA6427@granicus.if.org>
Nathan,
> I was thinking of cryptographic applications. Then, to use an
> example from another domain, initial TCP sequence numbers should
> be random (i.e. unguessable). A problem with TCP perhaps. It's
> been a while since i've read over my copy of _Applied Cryptography_,
> but I seem to recall that unguessable numbers were sometimes useful.
Yeah, the problem is what it does to your data. If there's no analyzable
correspondence between the key and the server/table/row it attaches to,
then you have no way to detect if the key and the data have become
disassociated.
This is, btw, a problem with conventional SERIALs as well. "unguessable"
UUIDs just compound the problem by adding additional variables (the server
and the table), as well as generally leading to applications which depend
*entirely* on UUID-based integrity and thus can't cope with any failures
in UUID generation or transmission.
I'm also a little baffled to come up with any real application where making
an id number for most tables "unguessable" would provide any kind of real
protection not far better provided by other means. For your "users"
table, sure, but that's a very special case.
--
--Josh
Josh Berkus
Aglio Database Solutions
San Francisco
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: josh@agliodbs.com, pgsql-hackers@postgresql.org, nw@hydaspes.if.org
Subject: Re: uuid type for postgres
In-Reply-To: <200509071131.17161.josh@agliodbs.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox