如果我在字段上创建PostgreSQL唯一索引,默认情况下是不区分大小写的比较吗?
如果没有,是否可以要求PostgreSQL忽略字符串大小写?
答案 0 :(得分:23)
PostgreSQL区分大小写。要做你想做的事,创建一个函数索引。所以说
CREATE UNIQUE INDEX test_upper_idx ON mytable (UPPER(myfield));
这样,当您在查询中使用UPPER(myfield)
时,将使用索引。
答案 1 :(得分:2)
CREATE UNIQUE INDEX ux_table_field ON mytable(UPPER(field))
答案 2 :(得分:0)
您应该能够创建基于函数的索引。 (使用字段的UPPER
)