UUID Functions UUID generating gen_random_uuid uuidv4 uuidv7 uuid_extract_timestamp uuid_extract_version shows the PostgreSQL functions that can be used to generate UUIDs. <acronym>UUID</acronym> Generation Functions Function Description Example(s) gen_random_uuid uuid uuidv4 uuid Generate a version 4 (random) UUID. gen_random_uuid() 5b30857f-0bfa-48b5-ac0b-5c64e28078d1 uuidv4() b42410ee-132f-42ee-9e4f-09a6485c95b8 uuidv7 ( shift interval ) uuid Generate a version 7 (time-ordered) UUID. The timestamp is computed using UNIX timestamp with millisecond precision + sub-millisecond timestamp + random. The optional parameter shift will shift the computed timestamp by the given interval. uuidv7() 019535d9-3df7-79fb-b466-fa907fa17f9e
The module provides additional functions that implement other standard algorithms for generating UUIDs. shows the PostgreSQL functions that can be used to extract information from UUIDs. <acronym>UUID</acronym> Extraction Functions Function Description Example(s) uuid_extract_timestamp ( uuid ) timestamp with time zone Extracts a timestamp with time zone from UUID version 1 and 7. 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_timestamp('019535d9-3df7-79fb-b466-&zwsp;fa907fa17f9e'::uuid) 2025-02-23 21:46:24.503-05 uuid_extract_version ( uuid ) smallint Extracts the version from a UUID of the variant described by RFC 9562. For other variants, this function returns null. For example, for a UUID generated by gen_random_uuid, this function will return 4. uuid_extract_version('41db1265-8bc1-4ab3-992f-&zwsp;885799a4af1d'::uuid) 4 uuid_extract_version('019535d9-3df7-79fb-b466-&zwsp;fa907fa17f9e'::uuid) 7
PostgreSQL also provides the usual comparison operators shown in for UUIDs. See for details on the data type uuid in PostgreSQL.