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.