Re: UUID v7
Przemysław Sztoch <przemyslaw@sztoch.pl>
From: Przemysław Sztoch <przemyslaw@sztoch.pl>
To: Jelte Fennema-Nio <postgres@jeltef.nl>
Cc: "Andrey M. Borodin" <x4mmm@yandex-team.ru>,
Sergey Prokhorenko <sergeyprokhorenko@yahoo.com.au>,
Aleksander Alekseev <aleksander@timescale.com>,
pgsql-hackers mailing list <pgsql-hackers@postgresql.org>,
Nick Babadzhanian <pgnickb@gmail.com>, Mat Arye <mat@timescaledb.com>,
Peter Eisentraut <peter.eisentraut@enterprisedb.com>,
Tom Lane <tgl@sss.pgh.pa.us>, Daniel Gustafsson <daniel@yesql.se>,
Matthias van de Meent <boekewurm+postgres@gmail.com>,
Nikolay Samokhvalov <samokhvalov@gmail.com>,
"Kyzer Davis (kydavis)" <kydavis@cisco.com>,
Andres Freund <andres@anarazel.de>, "brad@peabody.io" <brad@peabody.io>,
Kirk Wolak <wolakk@gmail.com>
Date: 2024-01-16T21:02:00Z
Lists: pgsql-hackers
Jelte Fennema-Nio wrote on 1/16/2024 9:25 PM: > On Tue, 16 Jan 2024 at 19:17, Andrey M. Borodin <x4mmm@yandex-team.ru> wrote: > So currently my preference for the function names would be: > > - uuidv4() -> alias for gen_random_uuid() > - uuidv7() > - uuidv7(timestamptz) > - uuid_extract_ver(uuid) > - uuid_extract_var(uuid) > - uuidv7_extract_time(uuid) +1 But replaceuuidv7_extract_time(uuid)with uuid_extract_time(uuid) - function should be able extract timestamp from v1/v6/v7 I would highly recommend to add: uuidv5(namespace uuid, name text) -> uuid using uuid_generate_v5 from uuid-ossp extension (https://www.postgresql.org/docs/current/uuid-ossp.html) There is an important version and it should be included into the main PG code. Jelte: Please propose the name of the function that will convert uuid from version 1 to 6. v6 is almost as good as v7 for indexes. And v6 allows you to convert from v1 which some people use. -- Przemysław Sztoch | Mobile +48 509 99 00 66
Commits
-
Fix timestamp overflow in UUIDv7 implementation.
- a5419bc72e22 18.0 landed
-
Add UUID version 7 generation function.
- 78c5e141e9c1 18.0 landed
-
Add some UUID support functions
- 794f10f6b920 17.0 landed