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.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.