On 04/24/2014 04:57 PM, Tom Lane wrote:
> Simon Riggs <simon@2ndQuadrant.com> writes:
>> On 24 April 2014 05:32, David Fetter <david@fetter.org> wrote:
>>> Since contrib/pgcrypto is a module that might well not be installed,
>>> people can't just build software for PostgreSQL and have UUIDs
>>> available, certainly not in the sense that, for example, BIGSERIAL is.
>> +1 to include in core - strange to have a UUID datatype in core but no
>> means to generate
> The reason why there's no generation function in core is that there is no
> standardized, guaranteed-to-produce-a-universally-unique-value generation
> algorithm. That was the reason for not putting something in core when the
> type was first created, and I do not see that the technology has advanced.
Why can't we implement all 5 variants from
http://en.wikipedia.org/wiki/Universally_unique_identifier
and just warn about the dangers in documentation ?
we could expose it something like next_uuid(<version nr>);
As the article points out " Since the identifiers have a finite size, it is
possible for two differing items to share the same identifier." so it is a
known limitation of UUID and not something PostgreSQL specific.
Cheers
--
Hannu Krosing
PostgreSQL Consultant
Performance, Scalability and High Availability
2ndQuadrant Nordic OÜ