UUID

提供UUID支持的数据类型

UUID是一种用于存储通用唯一标识符的数据类型。

UUID支持在PostgreSQL 8.3中添加。

用法

UUID表示一个128位数量,通常由算法生成,以确保在实际应用中,生成的value是唯一的。

PostgreSQL使用小写十六进制数字生成和存储UUID,符合RFC 4122

此外,PostgreSQL接受以下格式的UUID输入值

  • 大写十六进制数字
  • 标准格式括在花括号中
  • 省略部分或全部连字符
  • 在每组四个数字后添加连字符

在PostgreSQL中生成UUID

PostgreSQL 13开始,可以使用函数gen_random_uuid()生成UUID

Contrib模块uuid-ossp提供了生成UUID的其他方法。

UUID v7和v8

截至2023年,存在一个补丁,用于向PostgreSQL添加UUID v7(以及可能v8)支持:UUID v7

更改历史记录

示例

UUID数据类型的基本用法示例

postgres=# CREATE TABLE uuid_test (
             id UUID NOT NULL PRIMARY KEY,
             val TEXT
           );
CREATE TABLE

postgres=# INSERT INTO uuid_test VALUES (
               gen_random_uuid(),
               'Hello World'
           );
INSERT 0 1

postgres=# SELECT * FROM uuid_test;
                  id                  |     val     
--------------------------------------+-------------
 c10f1df6-3057-49e1-a92f-dbc920946f5c | Hello World
(1 row)

不同的输入格式被视为等效

postgres=# SELECT *
             FROM uuid_test
            WHERE id = '{C10f-1Df6-3057-49e1-a92f-dbc920946f5c}';
                  id                  |     val     
--------------------------------------+-------------
 c10f1df6-3057-49e1-a92f-dbc920946f5c | Hello World
(1 row)

类别

数据类型UUID

另请参阅

gen_random_uuid()uuid-ossp

反馈

提交任何关于“UUID”的评论、建议或更正 此处