当前位置: 首页 > news >正文

重庆思庄PG数据库技术分享-PG模式 中 UUID 的使用

1. 启用 UUID 扩展
首先需要启用 uuid-ossp 扩展:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
2. 生成 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(), 'https://example.com');
SELECT uuid_generate_v5(uuid_ns_url(), 'https://example.com');

3. 创建带有 UUID 列的表
CREATE TABLE example_table (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
name VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

4. 插入数据
自动生成 UUID
INSERT INTO example_table (name) VALUES ('Test Name');
手动指定 UUID
INSERT INTO example_table (id, name)
VALUES ('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11', 'Manual UUID');

5. 查询和比较 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个字符(包括连字符);

http://www.cnnetsun.cn/news/192085.html

相关文章:

  • 操作系统移植视角下的x64和arm64差异:核心要点
  • vivo X300系列凭什么更受欢迎?旗舰体验这次更到位
  • 新手避坑指南:multisim14.3下载安装时防病毒误删技巧
  • LangFlow水族箱生态监控报警系统设想
  • elasticsearch可视化工具实现集群负载均衡监控教程
  • 自创的机械臂新算法,因为是AI写的,暂时,并不智能,但目前支持任何段数
  • OrCAD与Allegro协同工作:无缝对接设计流程
  • 从零实现无乱码开发环境:Keil + UTF-8-BOM配置教程
  • 调整IDE设置以避免代码自动换行
  • Java面试官怒怼水货程序员:Spring Cloud微服务+Kafka消息队列+Redis缓存,你到底会不会?
  • HBuilderX运行网页空白或报错?图解说明核心要点
  • Windows下Arduino安装教程:从下载到IDE配置手把手指导
  • 并网型直驱永磁同步风力发电系统simulink仿真
  • 如何为色盲人士创建可访问的图表
  • 解决: macOS 长按一个键不连续输出
  • USB3.0引脚定义与连接器选型配合要点通俗解释
  • 图解说明ESP32连接阿里云MQTT构建家庭安防系统
  • HID设备调试实战:常见枚举失败问题排查指南
  • Testing Essay
  • LangFlow实体关系抽取管道实现方式
  • Topit窗口置顶工具:5分钟学会让Mac窗口永远浮在最上层
  • TrollInstallerX终极指南:快速解决iOS 14-16越狱安装失败问题
  • LangFlow品牌声誉管理系统原型展示
  • LangFlow学术论文摘要生成器搭建过程
  • 如何通过结合多模态信息创建强大的 AI 表示
  • 5个技巧让你的Mac窗口管理效率提升300%
  • GeoJSON.io 完全指南:5个专业地理数据编辑技巧快速掌握
  • 抖音无水印下载器:5分钟掌握高效视频保存完整指南
  • 【SOC状态估计】基于EKF和UKF电池充电状态和健康状态联合估计研究(Matlab代码实现)
  • 轻松搞定TrollInstallerX:iOS越狱工具实战问题全解析