Re: UUID v7
Marcos Pegoraro <marcos@f10.com.br>
From: Marcos Pegoraro <marcos@f10.com.br>
To: Andrey Borodin <x4mmm@yandex-team.ru>
Cc: Aleksander Alekseev <aleksander@timescale.com>, pgsql-hackers mailing list <pgsql-hackers@postgresql.org>, Nikolay Samokhvalov <nik@postgres.ai>, "David G. Johnston" <david.g.johnston@gmail.com>, Przemysław Sztoch <przemyslaw@sztoch.pl>, Sergey Prokhorenko <sergeyprokhorenko@yahoo.com.au>, Jelte Fennema-Nio <postgres@jeltef.nl>, 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-24T20:47:07Z
Lists: pgsql-hackers
I understand your point, but '2000-01-01' :: timestamp and '1900-01-01' :: timestamp are both valid timestamps. So looks strange if user can do select uuidv7(TIMESTAMP '2000-01-01') but cannot do select uuidv7(TIMESTAMP '1900-01-01') Regards Marcos Em qua., 24 de jan. de 2024 às 14:51, Andrey Borodin <x4mmm@yandex-team.ru> escreveu: > > > > On 24 Jan 2024, at 22:00, Marcos Pegoraro <marcos@f10.com.br> wrote: > > > > Is enough from 1970 ? > Per standard unix_ts_ms field is a number of milliseconds from UNIX start > date 1970-01-01. > > > How about if user wants to have an UUID of his birth date ? > > I've claimed my > 0078c135-bd00-70b1-865a-63c3741922a5 > > But again, UUIDs are not designed to store timestamp. They are unique and > v7 promote data locality via time-ordering. > > > Best regards, Andrey Borodin.
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