UUID

提供 UUID 支持的数据类型

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

UUID 支持是在 PostgreSQL 8.3 中添加的。

用法

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

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" 的评论、建议或更正 此处