uuid_generate_v4()、gen_random_uuid这些我试了下都是不存在,uuid-ossp这个插件我看也没法安
是只有通过自定义函数来实现这一条路子了吗
uuid_generate_v4()、gen_random_uuid这些我试了下都是不存在,uuid-ossp这个插件我看也没法安
是只有通过自定义函数来实现这一条路子了吗
openGauss 本身没有内建的 gen_random_uuid() 或 uuid_generate_v4() 函数,但可以通过以下两种方式获得 UUID:
安装扩展(需系统管理员权限)
如果服务器已打包了 uuid-ossp 扩展,先执行
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
然后即可直接调用
SELECT uuid_generate_v4(); -- RFC 4122 v4 随机 UUID
SELECT uuid_generate_v1(); -- v1 时间+MAC 版本
CREATE OR REPLACE FUNCTION gen_uuid()
RETURNS uuid
LANGUAGE sql
AS $$
SELECT md5(random()::text || clock_timestamp()::text)::uuid;
$$;
-- 使用示例
SELECT gen_uuid();
该函数每次返回一个 128 位的随机 UUID,格式为 a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11,可直接插入 UUID 字段 。