Search Postgresql Archives

Re: How to generate unique hash-type id?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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: signature.asc
Description: This is a digitally signed message part.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux