Функция uuidv7() генерации идентификаторов формата UUIDv7 (метод 3) в соответствии с RFC 9562 уже закоммичена и теперь гарантированно попадет в 18 версию PostgreSQL, выход которой ожидается в сентябре 2025 года. До этого можно пользоваться каким-нибудь из имеющихся расширений PostgreSQL.
Реализация имеет три особенности:
-
При генерации идентификаторов в одном процессе обеспечивается возрастание генерируемых идентификаторов при откате системных часов назад или при большом темпе генерации, так как в этом случае таймстемп выполняет роль счетчика.
-
При параллельной генерации идентификаторов в нескольких процессах обеспечивается возрастание генерируемых идентификаторов, так как точность таймстемпа улучшена до приблизительно 250 наносекунд благодаря 12-битному субмиллисекундному сегменту.
-
Можно скрыть дату и время создания записи, так как возможен сдвиг таймстемпа на произвольное значение в формате interval. Сдвиги таймстемпа также могут быть полезны для ускорения создания записей благодаря более равномерному распределению значений идентификаторов.
ссылка на оригинал статьи https://habr.com/ru/articles/870428/
Добавить комментарий