On Fri, Jan 29, 2010 at 10:31, Adrian von Bidder <avbidder@xxxxxxxxxxx> wrote: > > 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.) uuid:s are, AFAIK, not cryptographically strong. They are predictable - a lot less predictable than a sequence, but still. If you want secure random numbers, you need to look at pgcrypto - http://www.postgresql.org/docs/current/static/pgcrypto.html -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/ -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general