给定一个像这样的表:
CREATE TABLE the_table (
the_uuid UUID NOT NULL UNIQUE DEFAULT gen_random_uuid()
-- more columns
);
Run Code Online (Sandbox Code Playgroud)
如果我们插入没有列值的行the_uuid,并且 DBMS 生成随机 UUID,postgres 是否可以无缝处理生成列中已存在的 UUID 的不太可能的情况?
人们会想象 postgres 可以重试随机 UUID 生成,直到它获得不违反约束的 UUID。但如果 postgres 不是以这种方式实现的,则需要在外部处理这个问题。
对于数字类型,我们有 a 的想法SEQUENCE可以在一定程度上解决这个问题,但我不知道该类型的类似物UUID。
这个问题的许多读者会想评论或回答说我担心一些不太可能发生的事情,我同意,但我仍然有兴趣更好地理解 postgres 处理这个问题的方式。
| 归档时间: |
|
| 查看次数: |
1122 次 |
| 最近记录: |