uuid-ossp 是一个 contrib 模块,它提供使用多种标准算法生成 UUID 的函数。它支持 BSD 和 e2fsprogs UUID 库(PostgreSQL 9.4 及更高版本),以及 OSSP UUID 库。
uuid-ossp 在 PostgreSQL 8.3 中添加。
用法
由于 uuid-ossp 包含连字符,因此在创建扩展时必须引用其名称。
变更历史
示例
创建 uuid-ossp 扩展
postgres=# CREATE EXTENSION "uuid-ossp"; CREATE EXTENSION
生成一个版本 4 UUID,它完全基于随机数生成
postgres=# SELECT uuid_generate_v4();
uuid_generate_v4
--------------------------------------
e63fa7fd-be59-4015-babf-a76cc11c6b71
(1 row)
请注意,uuid_generate_v4() 等同于核心函数 gen_random_uuid()(PostgreSQL 13 及更高版本)。
生成一个版本 5 UUID
postgres=# SELECT uuid_generate_v5(uuid_ns_url(), 'https://pgpedia.postgresql.ac.cn');
uuid_generate_v5
--------------------------------------
f273ea56-9618-5b86-8011-c0b24ab3b702
(1 row)
参考资料
- PostgreSQL 文档: uuid-ossp
