Supported Versions: Current (16) / 15 / 14 / 13
Development Versions: 17 / devel
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

9.14. UUID Functions #

PostgreSQL includes one function to generate a UUID:

gen_random_uuid () → uuid

This function returns a version 4 (random) UUID. This is the most commonly used type of UUID and is appropriate for most applications.

The uuid-ossp module provides additional functions that implement other standard algorithms for generating UUIDs.

There are also functions to extract data from UUIDs:

uuid_extract_timestamp (uuid) → timestamp with time zone

This function extracts a timestamp with time zone from UUID version 1. For other versions, this function returns null. Note that the extracted timestamp is not necessarily exactly equal to the time the UUID was generated; this depends on the implementation that generated the UUID.

uuid_extract_version (uuid) → smallint

This function extracts the version from a UUID of the variant described by RFC 4122. For other variants, this function returns null. For example, for a UUID generated by gen_random_uuid, this function will return 4.

PostgreSQL also provides the usual comparison operators shown in Table 9.1 for UUIDs.