UUID

提供 UUID 支持的数据类型

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

UUID 支持在 PostgreSQL 8.3 中添加。

用法

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

PostgreSQL 按照 RFC 4122 标准,使用小写十六进制数字生成和存储 UUID

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

  • 大写十六进制数字
  • 标准格式,用花括号括起来
  • 省略部分或全部连字符
  • 在每四位数字后添加连字符

在 PostgreSQL 中生成 UUID

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

PostgreSQL 18 开始,可以使用函数 uuidv7() 生成 7 类 UUID

contrib 模块 uuid-ossp 提供了额外的 UUID 生成方法。

变更历史

示例

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(), uuidv4(), uuidv7(), uuid-ossp

反馈

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