
IvorySQL 2025生态大会
暨PostgreSQL高峰论坛
唯一且有序:高性能UUIDv7
数据表的主键有两种基本的方法:使用sequence生成主键或使用UUID(universally unique identifier)
生成主键。PostgreSQL 1 8参考RFC 9652标准将引入UUID v7版本的特性,UUIDv7融合了时间和随
机属性,同时提供唯一性和有序性。
• 参照RFC 9652标准
• 新增uuidv7函数保证单个后端
进程内单调有序递增
• 扩展uuid_extract_timestamp函
数支持UUID v7版本
• 对gen_random_uuid函数增加
别名函数uuidv4,维护UUID版
本名称的一致性
功能特性
postgres=# select uuidv7();
uuidv7
------------------------------
019453ff-d612-7dea-8eed-c3f6fba09a96
(1 row)
postgres=# select uuid_extract_version('019453ff-d612-7dea-8eed-c3f6fba09a96');
uuid_extract_version
-----------------
7
(1 row)
postgres=# select uuid_extract_timestamp('019453ff-d612-7dea-8eed-c3f6fba09a96');
uuid_extract_timestamp
----------------------
2025-01-11 14:14:22.994+08
(1 row)
M is the version (e.g., 4 for UUIDv4, 7 for UUIDv7).
N encodes the variant (usually 10xx for RFC 4122 compliant UUIDs).
The rest is either random or encodes time/data, depending on the version.
文档被以下合辑收录
评论