↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 函数百科 / UUID 函数

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 18.7 手册 · 9.14 UUID 函数 官方文档

版本轨迹

相对 PostgreSQL 17:新增 1 条签名,移除 1 条。

说明

从符合 RFC 9562 所描述某一变体的 UUID 中提取版本号。对于其他变体,该函数返回 null。例如,对于由 gen_random_uuid() 生成的 UUID,该函数将返回 4。
uuid_extract_version ( uuid ) → smallint
从符合 RFC 9562 所描述某一变体的 UUID 中提取版本号。对于其他变体,该函数返回 null。例如,对于由 gen_random_uuid() 生成的 UUID,该函数将返回 4。

签名

PostgreSQL 18.7 里 uuid_extract_version 的 1 条签名,按上游手册顺序排列。参数名用斜体,类型用弱化色, 之后是返回类型。中文说明来自同版本手册与审阅译文,悬停可查看每条说明的来源。

  1. 新 uuid_extract_version ( uuid ) → smallint

    从符合 RFC 9562 所描述某一变体的 UUID 中提取版本号。对于其他变体,该函数返回 null。例如,对于由 gen_random_uuid() 生成的 UUID,该函数将返回 4。
    • uuid_extract_version('41db1265-8bc1-4ab3-992f-e85799a4af1d' :: uuid)4
    • uuid_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。

演化历史

相邻两个大版本之间的差异,新的在前。版本号链到该版的签名。

  1. PostgreSQL 18 ← 17 签名变更

    uuid_extract_version ( uuid ) → smallint uuid_extract_version (uuid) → smallint 说明更新

  2. PostgreSQL 17 ← 16 新增此函数

    PostgreSQL 17 起可用

签名矩阵

每条签名在给出了签名的 4 个版本里的存在情况;方格指向该版的签名。只在正文里提到此函数、没有给出签名的版本不列进来,上面的版本轨迹里仍然有它们。签名文本在 PostgreSQL 13 前后写法不同,跨越那一跳的同一条签名会显示成两行。

存在 不存在

签名 17181920
uuid_extract_version (uuid) → smallint 存在 不存在 不存在 不存在
uuid_extract_version ( uuid ) → smallint 不存在 存在 存在 存在

同组函数

函数 签名 主签名 版本变动 最近变更
UUID FUNCTIONS UUID 函数 5 个 ↗
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 年。如果结果时间戳超出此范围,则会引发错误。 现存

本站手册收录 uuid_extract_version 的版本:17.1218.719rc220 devel

签名与示例依据同版本 PostgreSQL 手册,中文说明来自已核对的同版本手册与审阅译文,最后同步 2026-11-13。

译文有误请提交到 pgsty/pgdoc;本站渲染或数据的问题提交到 pgsty/pgweb。