在阅读了关于索引唯一性的文档作为实现细节之后,我一直试图理清 Postgres 中唯一性和索引之间的关系:
向表添加唯一约束的首选方法是 ALTER TABLE ... ADD CONSTRAINT。使用索引来强制执行唯一约束可以被认为是不应该直接访问的实现细节。然而,应该注意的是,没有必要在唯一列上手动创建索引。这样做只会复制自动创建的索引。
因此,按照他们的说法,我将仅将文档声明为唯一并使用隐式索引 - 或 - 创建索引而不假设值是唯一的。这是一个错误吗?
我将从独特的索引中获得什么样的索引?鉴于只有 btree 将接受唯一约束并且 unique 隐式创建索引,UNIQUE 创建 btree 索引是真的吗?我不想无意中在哈希索引上运行范围。