如何在 Postgresql 中自动检测并删除重复的外键约束
我的 Postgresql 数据库在表上有大量重复的外键约束,例如
"fkb43bb0b712b68565" FOREIGN KEY (owner_id) REFERENCES usr(id)
"fkb43bb0b71b63ed43" FOREIGN KEY (owner_id) REFERENCES usr(id)
它们正在做相同的事情但具有唯一的名称。
如何自动检测并删除此类重复项?
谢谢杰
My Postgresql database has a large number of duplicate foreign key constraints on tables for example
"fkb43bb0b712b68565" FOREIGN KEY (owner_id) REFERENCES usr(id)
"fkb43bb0b71b63ed43" FOREIGN KEY (owner_id) REFERENCES usr(id)
They're doing the same thing but have unique names.
How can I automatically detect and delete such duplicates?
Thanks
J
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
上面的查询将返回所有外键约束,您只需删除重复的条目即可。
注意:如果您从上面的查询中删除注释,您可以查看 relID 和 ColID,并且该查询应该适用于数据库中的所有模式
above query will return all the foreign key constraint from that u simply delete the duplicate entries.
Note : if you remove the comments from above query you can view the relID and ColID and the query should work for all the schema in the database
将仅列出 Postgresql 中重复的外键约束
will list only duplicated foreign key constraints in Postgresql
约束存储在 pg_constraint 中,只需查询此视图即可找到双重约束。
Constraints are stored in pg_constraint, just query this view to find double constraints.