Home Explore Blog CI



postgresql

3rd chunk of `doc/src/sgml/uuid-ossp.sgml`
285b48771c59db456a09679cc824667fbd403e35864ec8070000000100000edb
 preferred over version 3 because SHA-1 is thought to be more secure
        than MD5.
       </para></entry>
      </row>
     </tbody>
    </tgroup>
  </table>

  <table id="uuid-ossp-constants">
   <title>Functions Returning UUID Constants</title>
    <tgroup cols="1">
     <thead>
      <row>
       <entry role="func_table_entry"><para role="func_signature">
        Function
       </para>
       <para>
        Description
       </para></entry>
      </row>
     </thead>

     <tbody>
      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>uuid_nil</function> ()
        <returnvalue>uuid</returnvalue>
       </para>
       <para>
        Returns a <quote>nil</quote> UUID constant, which does not occur as a
        real UUID.
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>uuid_ns_dns</function> ()
        <returnvalue>uuid</returnvalue>
       </para>
       <para>
        Returns a constant designating the DNS namespace for UUIDs.
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>uuid_ns_url</function> ()
        <returnvalue>uuid</returnvalue>
       </para>
       <para>
        Returns a constant designating the URL namespace for UUIDs.
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>uuid_ns_oid</function> ()
        <returnvalue>uuid</returnvalue>
       </para>
       <para>
        Returns a constant designating the ISO object identifier (OID) namespace for
        UUIDs.  (This pertains to ASN.1 OIDs, which are unrelated to the OIDs
        used in <productname>PostgreSQL</productname>.)
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>uuid_ns_x500</function> ()
        <returnvalue>uuid</returnvalue>
       </para>
       <para>
        Returns a constant designating the X.500 distinguished name (DN)
        namespace for UUIDs.
       </para></entry>
      </row>
     </tbody>
    </tgroup>
  </table>
 </sect2>

 <sect2 id="uuid-ossp-building">
  <title>Building <filename>uuid-ossp</filename></title>

  <para>
   Historically this module depended on the OSSP UUID library, which accounts
   for the module's name.  While the OSSP UUID library can still be found
   at <ulink url="http://www.ossp.org/pkg/lib/uuid/"></ulink>, it is not well
   maintained, and is becoming increasingly difficult to port to newer
   platforms.  <filename>uuid-ossp</filename> can now be built without the OSSP
   library on some platforms.  On FreeBSD and some other BSD-derived
   platforms, suitable UUID creation functions are included in the
   core <filename>libc</filename> library.  On Linux, macOS, and some other
   platforms, suitable functions are provided in the <filename>libuuid</filename>
   library, which originally came from the <literal>e2fsprogs</literal> project
   (though on modern Linux it is considered part
   of <literal>util-linux-ng</literal>).  When invoking <filename>configure</filename>,
   specify <option>--with-uuid=bsd</option> to use the BSD functions,
   or <option>--with-uuid=e2fs</option> to
   use <literal>e2fsprogs</literal>' <filename>libuuid</filename>, or
   <option>--with-uuid=ossp</option> to use the OSSP UUID library.
   More than one of these libraries might be available on a particular
   machine, so <filename>configure</filename> does not automatically choose one.
  </para>
 </sect2>

 <sect2 id="uuid-ossp-author">
  <title>Author</title>

  <para>
   Peter Eisentraut <email>peter_e@gmx.net</email>
  </para>

 </sect2>

</sect1>

Title: UUID Constants, Building uuid-ossp, and Author Information
Summary
This section describes functions that return UUID constants, such as `uuid_nil`, `uuid_ns_dns`, `uuid_ns_url`, `uuid_ns_oid`, and `uuid_ns_x500`. It further details how to build the `uuid-ossp` module, noting its historical dependency on the OSSP UUID library and its ability to be built using BSD libc or e2fsprogs' libuuid on some platforms. It concludes by crediting Peter Eisentraut as the author of the module.