postgresql 生成uuid
> select uuid_generate_v4();
uuid_generate_v4
--------------------------------------
6088c013-a45d-4b68-b70f-2b290388160d
(1 row)
如果提示
ERROR: function uuid_generate_v4() does not exist
LINE 1: select uuid_generate_v4();
^
HINT: No function matches the given name and argument types.
You might need to add explicit type casts.
说明需要创建 uuid-ossp 扩展,执行命令
> create extension "uuid-ossp";
CREATE EXTENSION
这一步可能提示没有权限,那么需要更高权限的账号。
postgresql 官方文档说,如果只是使用随机的uuid, 建议使用 pgcrypto 扩展的 gen_random_uuid() 替代:
Note: If you only need randomly-generated (version 4) UUIDs, consider using the
gen_random_uuid()function from the pgcrypto module instead.-- https://www.postgresql.org/docs/current/static/uuid-ossp.html
同样,创建扩展,然后使用命令
> create extension "pgcrypto";
CREATE EXTENSION
> select gen_random_uuid();
gen_random_uuid
--------------------------------------
f7d44f9a-3118-40b4-bde5-3dc964f78994
(1 row)
>
可能会有权限问题,扩展需要切换到权限高的账号创建。
本文介绍了在PostgreSQL中生成UUID的方法,包括使用uuid-ossp扩展的uuid_generate_v4()函数及pgcrypto模块的gen_random_uuid()函数,并解决了可能出现的权限问题。


326


被折叠的 条评论
为什么被折叠?



