> Anyone who thinks UUIDs are guaranteed unique has been drinking too much
> of the kool-aid. 

>  Identifier uniqueness considerations:
> This document specifies three algorithms to generate UUIDs: the
> first leverages the unique values of 802 MAC addresses to
> guarantee uniqueness, the second uses pseudo-random number
> generators, and the third uses cryptographic hashing and
> application-provided text strings. As a result, the UUIDs
> generated according to the mechanisms here will be unique from all
> other UUIDs that have been or will be assigned.
That is a quote from the ftp://ftp.rfc-editor.org/in-notes/rfc4122.txt

And to quote ITU-T
If generated according to one of the mechanisms defined in ITU-T Rec. X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be different from all other UUIDs generated before 3603 A.D., or is extremely likely to be different (depending on the mechanism chosen). The UUID generation algorithm specified in this standard supports very high allocation rates: 10 million per second per machine if necessary, so UUIDs can also be used as transaction IDs.

They also talk about a "guaranteed differentness" - and as much as I understand, they are Unique as long as the MAC-Adresses of the Network-Cards are unique, and fall back to "extremly likely" when there is no network card present.

I would really like PostgreSQL to include an uuid-generation function crafted along the recommendations in rfc4122 or ISO/IEC 9834-8; so those UUIDs have a "ISO/IEC-defined uniqueness" or at least a "ISO/IEC-defined extreme likelyness to be unique"

As of now there are at least 3 implementations for UUID creation for PostgreSQL in the wild; as much as I understand is that "UUIDs created by the same algorithm" are much more likely to be unique to each other then UUIDs created by different algorithms.


GHUM Harald Massa
persuadere et programmare
Harald Armin Massa
Reinsburgstra├če 202b
70197 Stuttgart
Let's set so double the killer delete select all.

Reply via email to