【发布时间】:2014-02-16 13:29:29
【问题描述】:
我有一个名为“hash”的唯一索引列
但是当我运行查询时:
SELECT *
FROM urls_0
WHERE hash = '\x0009cb31d8a6c0c64f6877c22a781804'::bytea
有两行,由于唯一违规,我无法重新索引该索引。这里发生了什么。我正在使用 PostgreSQL 9.3.2
【问题讨论】:
-
您100% 确定此唯一索引仅存在于表urls_0的列散列?
-
拜托,你能连接到数据库,执行以下查询并将结果发布到这里吗?
SELECT indexrelid::regclass, indisunique, indisvalid FROM pg_catalog.pg_index WHERE indrelid = 'urls_0'::regclass; -
@MarceloZabani:我确定
-
@MatheusOl:结果完全正确。但是我已经手动修复了我的系统,删除了重复的行。