×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

8.6.72. uuid-ossp — генератор UUID

8.6.72.1. Функции uuid-ossp
8.6.72.2. Сборка uuid-ossp
8.6.72.3. Автор

Модуль uuid-ossp предоставляет функции для генерации универсально уникальных идентификаторов (UUID) с использованием одного из нескольких стандартных алгоритмов. Также есть функции для создания определённых специальных UUID-констант. Этот модуль необходим только для специальных требований, выходящих за рамки того, что доступно в ядре Digital Q.DataBase. См. Раздел 2.6.14 для встроенных способов генерации UUID.

Этот модуль считается «доверенным», то есть он может быть установлен не-суперпользователями, имеющими привилегию CREATE в текущей базе данных.

8.6.72.1. Функции uuid-ossp #

Таблица 8.6.44 показывает функции, доступные для генерации UUID. Соответствующие стандарты ITU-T Rec. X.667, ISO/IEC 9834-8:2005 и RFC 4122 определяют четыре алгоритма для генерации UUID, идентифицируемые номерами версий 1, 3, 4 и 5. (Алгоритма версии 2 нет.) Каждый из этих алгоритмов может подходить для разных наборов приложений.

Таблица 8.6.44. Функции для генерации UUID

Функция

Описание

uuid_generate_v1 () → uuid

Генерирует UUID версии 1. При этом используются MAC-адрес компьютера и временная метка. Обратите внимание, что UUID такого типа раскрывают идентификатор компьютера, создавшего идентификатор, и время, когда это было сделано, что может сделать их непригодными для некоторых приложений, критичных к безопасности.

uuid_generate_v1mc () → uuid

Генерирует UUID версии 1, но использует случайный групповой (multicast) MAC-адрес вместо реального MAC-адреса компьютера.

uuid_generate_v3 ( namespace uuid, name text ) → uuid

Генерирует UUID версии 3 в заданном пространстве имён, используя указанное входное имя. Пространство имён должно быть одной из специальных констант, создаваемых функциями uuid_ns_*(), показанными в Таблица 8.6.45. (Теоретически это может быть любой UUID.) Имя — это идентификатор в выбранном пространстве имён.

Например:

SELECT uuid_generate_v3(uuid_ns_url(), 'http://www.postgresql.org');

Параметр имени будет хеширован с помощью MD5, поэтому исходный текст не может быть получен из сгенерированного UUID. Генерация UUID этим методом не имеет случайного или зависящего от окружения элемента и поэтому воспроизводима.

uuid_generate_v4 () → uuid

Генерирует UUID версии 4, который полностью получается из случайных чисел.

uuid_generate_v5 ( namespace uuid, name text ) → uuid

Генерирует UUID версии 5, который работает как UUID версии 3, за исключением того, что в качестве метода хеширования используется SHA-1. Версию 5 следует предпочесть версии 3, поскольку SHA-1 считается более безопасной, чем MD5.


Таблица 8.6.45. Функции, возвращающие UUID-константы

Функция

Описание

uuid_nil () → uuid

Возвращает константу «nil» UUID, которая не встречается как реальный UUID.

uuid_ns_dns () → uuid

Возвращает константу, обозначающую пространство имён DNS для UUID.

uuid_ns_url () → uuid

Возвращает константу, обозначающую пространство имён URL для UUID.

uuid_ns_oid () → uuid

Возвращает константу, обозначающую пространство имён ISO object identifier (OID) для UUID. (Это относится к ASN.1 OID, которые не связаны с OID, используемыми в Digital Q.DataBase.)

uuid_ns_x500 () → uuid

Возвращает константу, обозначающую пространство имён X.500 distinguished name (DN) для UUID.


8.6.72.2. Сборка uuid-ossp #

Исторически этот модуль зависел от библиотеки OSSP UUID, что объясняет имя модуля. Хотя библиотеку OSSP UUID всё ещё можно найти по адресу http://www.ossp.org/pkg/lib/uuid/, она плохо поддерживается, и её становится всё труднее портировать на новые платформы. uuid-ossp теперь можно собрать без библиотеки OSSP на некоторых платформах. На FreeBSD и некоторых других платформах, производных от BSD, подходящие функции создания UUID включены в основную библиотеку libc. На Linux, macOS и некоторых других платформах подходящие функции предоставляются библиотекой libuuid, которая первоначально появилась в проекте e2fsprogs (хотя в современном Linux она считается частью util-linux-ng). При вызове configure укажите --with-uuid=bsd, чтобы использовать функции BSD, или --with-uuid=e2fs, чтобы использовать libuuid из e2fsprogs, или --with-uuid=ossp для использования библиотеки OSSP UUID. На конкретной машине может быть доступно более одной из этих библиотек, поэтому configure не выбирает одну автоматически.

8.6.72.3. Автор #

Peter Eisentraut

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению