用于保存固定大小字符串值的主键的Postgres最佳数据类型是什么?
(例如 - 值正好是字母表中的6个字符[0-z,a-z,A-Z])。
我应该使用char [6](它是否适合用作主键?) 我应该在应用程序中使用bigserial并从number转换为base62吗?
答案 0 :(得分:1)
你会这样做:
create table t (
tId char(6) primary key,
. . .
constraint chk_t_tId check (tId ~ '^[0-9a-zA-Z]{6}$')
);
将id作为六个字符串没有问题。