数据类型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 节 。