uuid
通用唯一标识符
当前查看 PostgreSQL 18。
中文定义与说明
通用唯一标识符
同版本中文手册节选
uuid 数据类型用于存储由
RFC 9562、ISO/IEC 9834-8:2005 及相关标准定义的通用唯一标识符(UUID)。(有些系统把这种数据类型称为全局唯一标识符,或 GUID。)这种标识符是一个
128 位的量,由某种算法生成,该算法的设计目标是:使已知宇宙中其他人用同一算法生成出相同标识符的概率极低。因此,对于分布式系统而言,这类标识符能比序列生成器提供更好的唯一性保证,因为序列生成器仅在单个数据库内唯一。
RFC 9562 定义了 8 种不同的 UUID 版本。每个版本对生成新 UUID 值都有各自的要求,也各自具备不同的优缺点。PostgreSQL 原生支持使用 UUIDv4 和
UUIDv7 算法生成 UUID。或者,也可以在数据库外部使用任意算法生成
UUID 值。uuid 数据类型可用于存储任何 UUID,无论其来源和版本为何。
UUID 写作一串小写十六进制数字,并用连字符分隔成若干组:先是 8 位一组,接着是三个 4 位组,最后是一个 12 位组。总共 32 个十六进制数字表示 128 个二进制位。标准形式的 UUID 例如:
PostgreSQL 也接受其他输入形式:可以使用大写字母、用花括号包围标准格式、省略部分或全部连字符,或者在任意 4 位分组后额外加上连字符。例如:
PG10–20 核心源码清单。类型转换与操作符类列出源码显式声明的关系;缺少记录不能排除通过其他机制进行转换或使用索引。
定义
通用唯一标识符
uuid
- 目录名称
- pg_catalog.uuid
- 类型 OID
- 2950
- 类型种类
- 基础类型
- 声明长度
- 16 字节
- 存储策略
- plain
- 输入函数
- uuid_in
- 输出函数
- uuid_out
系统目录属性
此构建的源码初始化值。字段含义参见 pg_type 。包含头文件默认值;依赖构建的常量保留符号形式,不作为服务器运行时实测。
oid2950descrUUIDtypacl_null_typlen16typelem0typnameuuidtypsenduuid_sendtyptypebtypalignctyparray0typbyvalftypdelim','typinputuuid_intypmodin-typndims0typownerPOSTGREStyprelid0typmodout-typoutputuuid_outtyptypmod-1typanalyze-typdefault_null_typnotnullftypreceiveuuid_recvtypstorageptypbasetype0typcategoryUtypcollation0typisdefinedttypnamespacepg_catalogtypsubscript-typdefaultbin_null_array_type_oid2951typispreferredfarray_type_name_uuid
运算符重载 6
每种操作数签名均为独立重载。实现函数和返回类型来自同一源码构建。
操作符类 5
声明输入类型与此类型相符的操作符类。多态操作符类、类型转换和表达式索引还可能提供其他索引路径;不能仅凭此表判断是否支持索引。
版本比较
PostgreSQL 17 → 18。属性比较不包含构建标识和说明正文;原始目录字段与源描述保留原文。
这两个样本的系统目录和结构化属性没有变化。
文档与源码
- 构建
- 18.6 · https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
相关条目
全部数据类型 · 下载此版本 JSON · 最早收录的样本不代表该类型的实际引入版本。