9.3 9.4 9.5 9.6 10 11 12 13 14 Current(15)
阿里云PostgreSQL 问题报告 纠错本页面

8.12. UUID类型

数据类型uuid存储由RFC 4122、 ISO/IEC 9834-8:2005和相关标准定义的通用唯一标识符(UUID)。 (有些系统将此数据类型称为全局唯一标识符,或GUID,)。 此标识符是一个128位的数量,由选择的算法生成,使得在已知宇宙中使用相同算法生成相同标识符的可能性非常小。 因此,对于分布式系统,这些标识符提供比序列生成器更好的唯一性保证,后者仅在单个数据库内是唯一的。

一个UUID被写成一个小写十六进制位的序列,该序列被连字符分隔成多个组:首先是一个8位组,接下来是三个4位组,最后是一个12位组。总共的32位(十六进制位)表示了128个二进制位。一个标准形式的UUID类似于:

a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11

PostgreSQL也接受另一种输入形式: 使用大写位、标准格式被花括号包围、忽略某些或者全部连字符、在任意4位组后面增加一个连字符。例如:

A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11
{a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11}
a0eebc999c0b4ef8bb6d6bb9bd380a11
a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11
{a0eebc99-9c0b4ef8-bb6d6bb9-bd380a11}

输出总是采用标准形式。

对于如何在PostgreSQL中生成UUID,请参见 第 9.14 节