-
启用 UUID 扩展 首先需要启用 uuid-ossp 扩展: CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
-
生成 UUID 的函数 uuid_generate_v1() - 基于时间和 MAC 地址 SELECT uuid_generate_v1(); 使用 uuid_generate_v4() - 完全随机生成 SELECT uuid_generate_v4(); 使用 uuid_generate_v3() 和 uuid_generate_v5() - 基于命名空间和名称的哈希 SELECT uuid_generate_v3(uuid_ns_url(), 'example.com'); SELECT uuid_generate_v5(uuid_ns_url(), 'example.com');
-
创建带有 UUID 列的表 CREATE TABLE example_table ( id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), name VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
-
插入数据 自动生成 UUID INSERT INTO example_table (name) VALUES ('Test Name'); 手动指定 UUID INSERT INTO example_table (id, name) VALUES ('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11', 'Manual UUID');
-
查询和比较 UUID -- 查询特定 UUID SELECT * FROM example_table WHERE id = 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'; -- 比较 UUID SELECT * FROM example_table WHERE id > 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11';
注意事项 确保 uuid-ossp 扩展已安装 UUID 占用 16 字节存储空间 随机 UUID (v4) 有极小的碰撞概率 作为主键时,索引效率可能不如自增整数,但适合分布式系统; uuid类型是大小写敏感的,通常使用小写字母;
uuid类型的数据长度固定为36个字符(包括连字符);