Re: Add MIN/MAX aggregate support for uuid
Tristan Partin <tristan@partin.io>
From: "Tristan Partin" <tristan@partin.io>
To: "pgsql-hackers" <pgsql-hackers@postgresql.org>
Date: 2026-06-23T18:05:34Z
Lists: pgsql-hackers
Attachments
- v1-0001-Add-MIN-MAX-aggregate-support-for-uuid.patch (text/x-patch) patch v1-0001
On Tue Jun 23, 2026 at 6:04 PM UTC, Tristan Partin wrote: > I noticed that we support various comparison operators on uuid values. > However, we were missing support for the MIN and MAX aggregate > functions, which seems like a logical thing to also support if we > support operators. > > The use case that I envision the most is finding the oldest and newest > UUID v7 values in a set. UUID v7 is a timestamp-prefixed identifier. > According to RFC 9562[0], the first 48 bits of a UUID v7 value are > a Unix Epoch timestamp. Additionally, Postgres implements Method 3 of > Section 6.2[1] for UUID v7 such that the next 12 bits bits store a > 1/4096 (or 2^12) fraction of sub-millisecond precision. See the comment > in generate_uuidv7() for more details. > > [0]: https://datatracker.ietf.org/doc/html/rfc9562#name-uuid-version-7 > [1]: https://datatracker.ietf.org/doc/html/rfc9562#monotonicity_counters And of course no patch attached :(. -- Tristan Partin PostgreSQL Contributors Team AWS (https://aws.amazon.com)
Commits
-
Add min() and max() aggregate support for uuid.
- 2e606d75c0bf master landed