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.