FUNCTIONUUID 函数
uuid_extract_version
从符合 RFC 9562 所描述某一变体的 UUID 中提取版本号。对于其他变体,该函数返回 null。例如,对于由 gen_random_uuid() 生成的 UUID,该函数将返回 4。
Extracts the version from a UUID of one of the variants described by RFC 9562.
UUID 函数 引入 17 现存至 20 devel 1 条签名 1 次签名变更
- 分组
- UUID 函数
- 签名数
- 1 条
- 引入版本
- 17
- 状态
- 现存
- 签名变更
- 1 次
- 本版来源
- 英文原文
版本轨迹
相对 PostgreSQL 17:新增 1 条签名,移除 1 条。
说明
签名
PostgreSQL 18.7 里 uuid_extract_version 的 1 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。中文说明来自同版本手册与审阅译文,悬停可查看每条说明的来源。
-
新
uuid_extract_version(uuid) →smallint从符合 RFC 9562 所描述某一变体的 UUID 中提取版本号。对于其他变体,该函数返回 null。例如,对于由gen_random_uuid()生成的 UUID,该函数将返回 4。uuid_extract_version('41db1265-8bc1-4ab3-992f-e85799a4af1d' :: uuid)4uuid_extract_version('019535d9-3df7-79fb-b466-fa907fa17f9e' :: uuid)7
本版移除的签名
PostgreSQL 17 有、18.7 不再有的 1 条签名,取自上一版快照。
-
uuid_extract_version (uuid) → smallint这个函数从 RFC 4122 描述的变体的 UUID 中提取版本。对于其他变体,此函数返回 NULL。例如,对于由 gen_random_uuid 生成的 UUID,此函数将返回 4。
演化历史
相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。
-
PostgreSQL 18 ← 17 签名变更
uuid_extract_version ( uuid ) → smallintuuid_extract_version (uuid) → smallint说明更新 -
PostgreSQL 17 ← 16 新增此函数
PostgreSQL 17 起可用
签名矩阵
每条签名在给出了签名的 4 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。
存在 不存在
同组函数
| 函数 | 签名 | 主签名 | 版本变动 | 最近变更 |
|---|---|---|---|---|
gen_random_uuid |
1 | gen_random_uuid ( ) → uuid |
181 次 | |
| 生成一个版本 4(随机)的 UUID | 现存 | |||
uuid_extract_timestamp |
1 | uuid_extract_timestamp ( uuid ) → timestamp with time zone |
181 次 | |
| 从版本 1、6 或 7 的 UUID 中提取 timestamp with time zone。对于其他版本,该函数返回 null。注意,提取出的时间戳不一定与 UUID 生成时刻完全一致;这取决于生成该 UUID 的实现。 | 现存 | |||
uuid_extract_version |
1 | uuid_extract_version ( uuid ) → smallint |
181 次 | |
| 从符合 RFC 9562 所描述某一变体的 UUID 中提取版本号。对于其他变体,该函数返回 null。例如,对于由 gen_random_uuid() 生成的 UUID,该函数将返回 4。 | 现存 | |||
uuidv4 |
1 | uuidv4 ( ) → uuid |
— | |
| 生成一个版本 4(随机)的 UUID | 现存 | |||
uuidv7 |
1 | uuidv7 ( [ shift interval ] ) → uuid |
— | |
| 生成一个版本 7(按时间排序)的 UUID。其时间戳由 UNIX 时间戳(毫秒精度)加上亚毫秒时间戳和随机值计算得到。可选参数 shift 会按给定的 interval 偏移计算出的时间戳。不接受无穷 interval 值。偏移后的时间戳必须位于 UUID 版本 7 的 48 位毫秒时间戳字段所支持的范围内:从 1970-01-01 00:00:00 UTC 到大约 10889 年。如果结果时间戳超出此范围,则会引发错误。 | 现存 | |||