错误:无法创建唯一索引详细信息:键(id)=(3105115)重复



我在PostgreSQL PgAdmin 4上遇到了这个问题。我试着换了一张桌子。

ALTER TABLE mytable 
ALTER COLUMN some_column type NUMERIC;

但我不断收到错误

DETAIL:密钥(id(=(3105115(重复。

但当我选择该表Select count(id) from mytable where id = 3105115时我得到count=1。

以前有人遇到过这个问题吗?

如有任何帮助,不胜感激。

您可能遇到数据损坏。

尝试

REINDEX INDEX mytable_pkey;

或者唯一索引的名称。这可能会给你一个类似的错误信息。

您可以使用找到重复的条目

SET enable_indexscan = off;
SET enable_bitmapscan = off;
SELECT id, count(*)
FROM mytable
GROUP BY id HAVING count(*) > 1;

删除这些重复项后,您的操作应该会成功。

一如既往地处理数据损坏:

  1. 导出整个集群并将其导入到一个新的集群以消除任何损坏。

  2. 检查您的硬件

最新更新