Re: How to generate unique hash-type id? - Mailing list pgsql-general

From Adrian von Bidder
Subject Re: How to generate unique hash-type id?
Date
Msg-id 201001291031.48940@fortytwo.ch
Whole thread Raw
In response to How to generate unique hash-type id?  (Joe Kramer <cckramer@gmail.com>)
Responses Re: How to generate unique hash-type id?
Re: How to generate unique hash-type id?
List pgsql-general
Hi,

On Friday 29 January 2010 09.20:33 Joe Kramer wrote:
> I need to generate unique id which is not guessable unlike
> serial(integer) type. I need an id in format like md5 hash of random
> number.
> On top of that I need this id to be unique across multiple tables.

Have a look at http://www.postgresql.org/docs/8.3/static/uuid-ossp.html

The usual approach is that (given a sensible random generator[1]) uuid are
assumed to be unique[2].  So you don't need to check because the probability
of collisions is so small that for practical purposes you can just ignore
it.

(If your engineer's mind balks at this, consider that you're trusting this
already when you use digital cryptography / signatures, for example https
certificates.)

I haven't looked at this module myself, but from the experience with
generating gpg keys on an appliance:  if you need lots of randomness, the
geneation of random numbers might be your bottleneck.  OTOH, our platform
didn't have disks and usually there was no network traffic while your
average db server has both, and on many systems there is a hardware random
generator, so this might not be an issue.

cheers
-- vbi


[1] like, for example: http://www.dilbert.com/strips/comic/2001-10-25/
[2] you'll want v4 uuids
--
Linus has opinions, I have opinions, everybody else has opinions, and
the only consistency here is that most of us are wrong most of the time.
        -- Andrew Morton, OLS 2004

Attachment

pgsql-general by date:

Previous
From: Vincenzo Romano
Date:
Subject: R: How to generate unique hash-type id?
Next
From: Magnus Hagander
Date:
Subject: Re: How to generate unique hash-type id?