支持的版本: 当前 (17) / 16 / 15 / 14 / 13
开发版本: devel
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3

8.12. UUID类型 #

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

UUID 被写为小写十六进制数字的序列,用连字符分隔成几组,具体来说,一组 8 位数字,后跟三组 4 位数字,再后跟一组 12 位数字,总共 32 位数字代表 128 位。这种标准形式的 UUID 示例是

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

PostgreSQL 还接受以下输入的可选形式:使用大写数字,用大括号括起的标准格式,省略部分或全部连字符,在任意四位数字组后添加连字符。例如

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 节

提交更正

如果您在文档中发现任何不正确、与您使用特定功能的经验不符或需要进一步澄清的内容,请使用此表单报告文档问题。