GEN_RANDOM_UUID函数用于生成一个随机的UUID。本文为您介绍Hologres中GEN_RANDOM_UUID函数的用法。

使用限制

GEN_RANDOM_UUID函数在使用之前,需要执行以下创建extension的命令开启扩展(extension)。extension是数据库级别的函数,一个数据库只需执行一次即可,新建数据库需要重新执行。
--创建extension
CREATE EXTENSION pgcrypto;

--删除extension
DROP EXTENSION pgcrypto;

语法

GEN_RANDOM_UUID函数用于生成一个完全由随机的十六进制整数组成的Version 4版本的UUID。
说明 UUID指通用唯一标识符,定长128位,取值范围为 00000000-0000-0000-0000-000000000000~ffffffff-ffff-ffff-ffff-ffffffffffff。UUID数据类型详情请参见 数据类型汇总
GEN_RANDOM_UUID()

示例

  • 生成一个随机的UUID。
    使用示例:
    SELECT GEN_RANDOM_UUID();
    执行结果:
    gen_random_uuid
    ------------------------------------
    3a5401f1-0f0c-4380-8611-78e654efd86d
    
  • 写入数据时生成随机的UUID。
    使用示例:
    --创建数据源表并写入数据,也可以使用MaxCompute源表等其他数据源
    CREATE TABLE t_source (a INT);
    INSERT INTO t_source SELECT * FROM generate_series(1, 5);
    
    --创建目标表
    CREATE TABLE t_result (a INT, b UUID);
    
    --数据写入目标表,并生成随机UUID
    INSERT INTO t_result SELECT *, gen_random_uuid() FROM t_source;
    
    --查看写入结果
    SELECT * FROM t_result;
    执行结果:
     a |                  b
    ---+--------------------------------------
     1 | 27477537-abc4-4c17-9cf3-91c856a3b298
     2 | 2522b1ce-fdf3-4b14-a3c3-78f4baac5186
     3 | c69959a3-ad40-424f-9eb1-3271d0c6a8d4
     4 | 5493e087-b1b8-47e2-8117-adea27aaa676
     5 | f0e55a29-e72e-42e6-99aa-486db4f8b624
    (5 rows)