我有一个独特的索引在我的postgresql 9.0分贝,基于一个函数。我还没有使任何手动测试失败,但我在查询时发现数据库中有一些重复项。为什么我对唯一索引有非唯一条目? (PostgreSQL 9.0)
检查了这一点:
Index: "users_screen_name_idx" UNIQUE, btree (lower(screen_name::text))
# select lower(screen_name), count(1) from users group by lower(screen_name) having count(1) > 1;
lower | count
---------------+-------
xxx xxx 3735 | 2
xxx xxx 37383 | 2
... (36 more) ...
| 17254
(39 rows)
任何想法如何,这是怎么回事?我知道NULL不是唯一的,这不是问题,它是其他38行。
这是一些可怕的sh * t。我真的希望9.3通过校验和得到一些内置的验证,并且在系统开始返回不正确的结果之前哪些内容不会捕获这些验证。我还想知道,如果数据是在ZFS文件系统上,如果这种类型的东西会被捕获和/或阻止。 – Kuberchaun 2012-09-28 14:02:22