mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Move most /contrib README files into SGML. Some still need conversion
or will never be converted.
This commit is contained in:
@ -1,97 +0,0 @@
|
||||
UUID Generation Functions
|
||||
=========================
|
||||
Peter Eisentraut <peter_e@gmx.net>
|
||||
|
||||
This module provides functions to generate universally unique
|
||||
identifiers (UUIDs) using one of the several standard algorithms, as
|
||||
well as functions to produce certain special UUID constants.
|
||||
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
The extra library required can be found at
|
||||
<http://www.ossp.org/pkg/lib/uuid/>.
|
||||
|
||||
|
||||
UUID Generation
|
||||
---------------
|
||||
|
||||
The relevant standards ITU-T Rec. X.667, ISO/IEC 9834-8:2005, and RFC
|
||||
4122 specify four algorithms for generating UUIDs, identified by the
|
||||
version numbers 1, 3, 4, and 5. (There is no version 2 algorithm.)
|
||||
Each of these algorithms could be suitable for a different set of
|
||||
applications.
|
||||
|
||||
uuid_generate_v1()
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This function generates a version 1 UUID. This involves the MAC
|
||||
address of the computer and a time stamp. Note that UUIDs of this
|
||||
kind reveal the identity of the computer that created the identifier
|
||||
and the time at which it did so, which might make it unsuitable for
|
||||
certain security-sensitive applications.
|
||||
|
||||
uuid_generate_v1mc()
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This function generates a version 1 UUID but uses a random multicast
|
||||
MAC address instead of the real MAC address of the computer.
|
||||
|
||||
uuid_generate_v3(namespace uuid, name text)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This function generates a version 3 UUID in the given namespace using
|
||||
the specified input name. The namespace should be one of the special
|
||||
constants produced by the uuid_ns_*() functions shown below. (It
|
||||
could be any UUID in theory.) The name is an identifier in the
|
||||
selected namespace. For example:
|
||||
|
||||
uuid_generate_v3(uuid_ns_url(), 'http://www.postgresql.org')
|
||||
|
||||
The name parameter will be MD5-hashed, so the cleartext cannot be
|
||||
derived from the generated UUID.
|
||||
|
||||
The generation of UUIDs by this method has no random or
|
||||
environment-dependent element and is therefore reproducible.
|
||||
|
||||
uuid_generate_v4()
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This function generates a version 4 UUID, which is derived entirely
|
||||
from random numbers.
|
||||
|
||||
uuid_generate_v5(namespace uuid, name text)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This function generates a version 5 UUID, which works like a version 3
|
||||
UUID except that SHA-1 is used as a hashing method. Version 5 should
|
||||
be preferred over version 3 because SHA-1 is thought to be more secure
|
||||
than MD5.
|
||||
|
||||
|
||||
UUID Constants
|
||||
--------------
|
||||
|
||||
uuid_nil()
|
||||
|
||||
A "nil" UUID constant, which does not occur as a real UUID.
|
||||
|
||||
uuid_ns_dns()
|
||||
|
||||
Constant designating the DNS namespace for UUIDs.
|
||||
|
||||
uuid_ns_url()
|
||||
|
||||
Constant designating the URL namespace for UUIDs.
|
||||
|
||||
uuid_ns_oid()
|
||||
|
||||
Constant designating the ISO object identifier (OID) namespace for
|
||||
UUIDs. (This pertains to ASN.1 OIDs, unrelated to the OIDs used in
|
||||
PostgreSQL.)
|
||||
|
||||
uuid_ns_x500()
|
||||
|
||||
Constant designating the X.500 distinguished name (DN) namespace for
|
||||
UUIDs.
|
Reference in New Issue
Block a user