9.14. Функции генерирования UUID #

В PostgreSQL имеется функция для генерирования UUID:

 gen_random_uuid () → uuid 

Она возвращает случайный UUID версии 4. Это наиболее популярный тип UUID, подходящий для большинства приложений.

Модуль uuid-ossp предоставляет дополнительные функции, реализующие другие стандартные алгоритмы генерирования UUID.

Также есть функции для извлечения данных из UUID:

 uuid_extract_timestamp (uuid) → timestamp with time zone 

Эта функция извлекает timestamp with time zone из UUID версии 1. Для других версий эта функция возвращает NULL. Обратите внимание, что извлечённая метка времени не обязательно точно равна времени генерации UUID, это зависит от реализации, сгенерировашей UUID.

 uuid_extract_version (uuid) → smallint 

Эта функция извлекает версию из UUID варианта, описанного в RFC 4122. Для других вариантов эта функция возвращает NULL. Например, для UUID, сгенерированного gen_random_uuid, эта функция вернёт 4.

В PostgreSQL также реализованы показанные в Таблице 9.1 операторы для сравнения значений UUID.