Hasty Briefsbeta

双语

Short alphanumeric pseudo random identifiers in Postgres

a year ago
  • #Database Design
  • #Performance
  • #Postgres
  • 介绍在Postgres中生成短字母数字标识符作为UUID替代方案
  • 对外使用public_id,内部数据库引用使用id
  • 设计特性包括固定长度、混淆处理、可逆性及原生Postgres支持能力
  • 局限性包括不支持大小写不敏感和排除相似字符
  • PL/PgSQL函数实现混淆处理、base62转换及反混淆功能
  • 表结构设计包含自动生成的public_id列及唯一性和长度约束
  • 性能影响:带public_id生成的插入操作慢3.4倍
  • 考虑过的替代方案:Base32 Crockford、ULID和NanoID