我在数据库上运行 pg_dump,并使用 pg_restore 恢复到一个新的、完全为空的数据库中,但出现错误:
pg_restore: [archiver (db)] could not execute query: ERROR: could not create unique index "bibleverses_userversestatus_pkey"
DETAIL: Table contains duplicated values.
检查恢复后的表会显示重复的主键值,这会阻止创建索引。
然而,检查 pg_dump 来自的原始数据库并没有显示这个重复的行 - 一切都是它应该的(并且必须是,因为约束)。
这怎么会发生,如何解决?
(这是一个持续性错误,而不是一个错误 - 再次运行 pg_dump 并不能修复它)。
编辑:抱歉,完全忘记了版本信息:pg_dump/postgres 8.3.11,pg_restore 9.1.6