Re: How can I build OSSP UUID support on Windows to avoid duplicate UUIDs?

From: "MauMau" <maumau307(at)gmail(dot)com>
To: "Robert Haas" <robertmhaas(at)gmail(dot)com>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Alvaro Herrera" <alvherre(at)2ndquadrant(dot)com>, "Hiroshi Saito" <hiroshi(at)winpg(dot)jp>, "Dave Page" <dpage(at)pgadmin(dot)org>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: How can I build OSSP UUID support on Windows to avoid duplicate UUIDs?
Date: 2013-10-31 12:54:14
Message-ID: 3690DC360D2645C8A77A3AB6927DDE52@maumau
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

From: "Robert Haas" <robertmhaas(at)gmail(dot)com>
> ISTM that the biggest problem is that we don't have a random number
> generator which generates enough bits of randomness to implement
> uuid_generate_v3. I think relatively few people would cry if we
> didn't support uuid_generate_v1(), and the others all look simple
> enough, provided there's somewhere to get lots of random bits.
>
> On Linux, it seems like we could get those bits from /dev/urandom,
> though I'm not sure how efficient that would be for the case where
> many UUIDs are being generated at once. But that wouldn't be very
> portable. It's tempting to think that we'd need a PRNG that generates
> wider values, for which we might find other application also. But I'm
> not volunteering to be the one to create such a thing.

OpenSSL provides rand_bytes() which generates random bytes of any length.
It uses /dev/urandom or /dev/random on UNIX/Linux and Crypto API of
Microsoft on Windows.

Regards
MauMau

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mitsumasa KONDO 2013-10-31 13:16:44 pg_fallocate
Previous Message Craig Ringer 2013-10-31 12:48:58 Re: Creating partial index on a relation