From 8073fff8e486178a49b64ef81a15a1e51294d7d0 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Fri, 20 Apr 2007 21:51:46 +0000
Subject: [PATCH] Documentation for UUID type

---
 doc/src/sgml/datatype.sgml | 51 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 50 insertions(+), 1 deletion(-)

diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml
index d58156bd70e..cda0f50d94b 100644
--- a/doc/src/sgml/datatype.sgml
+++ b/doc/src/sgml/datatype.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.196 2007/04/17 17:30:34 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.197 2007/04/20 21:51:46 petere Exp $ -->
 
  <chapter id="datatype">
   <title id="datatype-title">Data Types</title>
@@ -234,6 +234,12 @@
        <entry>date and time, including time zone</entry>
       </row>
 
+      <row>
+       <entry><type>uuid</type></entry>
+       <entry></entry>
+       <entry>universally unique identifier</entry>
+      </row>
+
       <row>
        <entry><type>xml</type></entry>
        <entry></entry>
@@ -3199,6 +3205,49 @@ SELECT * FROM test;
    </para>
   </sect1>
 
+  <sect1 id="datatype-uuid">
+   <title><acronym>UUID</acronym> Type</title>
+
+   <indexterm zone="datatype-xml">
+    <primary>UUID</primary>
+   </indexterm>
+
+   <para>
+    The data type <type>uuid</type> stores Universally Unique
+    Identifiers (UUID) as per RFC 4122, ISO/IEC 9834-8:2005, and
+    related standards.  (Some systems refer to this data type as
+    globally unique
+    identifier/GUID<indexterm><primary>GUID</primary></indexterm>
+    instead.)  Such an identifier is a 128-bit quantity that is
+    generated by a suitable algorithm so that it is very unlikely to
+    be generated by anyone else in the known universe using the same
+    algorithm.  Therefore, for distributed systems, these identifiers
+    provide a better uniqueness guarantee than that which can be
+    achieved using sequence generators, which are only unique within a
+    single database.
+   </para>
+
+   <para>
+    A UUID is written as a sequence of lower-case hexadecimal digits,
+    in several groups separated by hyphens, specifically a group of 8
+    digits followed by three groups of 4 digits followed by a group of
+    12 digits, for a total of 32 digits representing the 128 bits.  An
+    example of a UUID in this standard form is:
+<programlisting>
+a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
+</programlisting>
+    PostgreSQL also accepts the following alternative forms for input:
+    use of upper-case digits, the standard format surrounded by
+    braces, and omitting the hyphens.  Examples are:
+<programlisting>
+A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11
+{a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11}
+a0eebc999c0b4ef8bb6d6bb9bd380a11
+</programlisting>
+    Output is always in the standard form.
+   </para>
+  </sect1>
+
   <sect1 id="datatype-xml">
    <title><acronym>XML</> Type</title>
 
-- 
GitLab