gpt4 book ai didi

postgresql - 如何检查我是否只删除了必需的数据?

转载 作者:行者123 更新时间:2023-11-29 13:07:38 24 4
gpt4 key购买 nike

我有一个非常大的数据库(在 PostgreSQL 上运行),其中包含许多表,它们之间具有复杂的关系(外键、删除级联等)。我需要从多个表中删除一些数据,但我不确定由于级联删除,实际会从数据库中删除多少数据。

如何确认不删除不该删除的数据?

我有一个测试数据库——只是一个真实数据库的副本,我可以在其中做我想做的事:)

我唯一的想法是前后转储数据库并检查它。但是看起来不太舒服。另一个想法 - 数据库的转储部分,正如我认为的那样,不应该受到我的 DELETE 语句的影响,并在数据删除之前和之后检查这部分。但我看不出有什么简单的方法可以做到这一点(有数百个表,删除应该适用于其中的 ~10 个)。有什么办法吗?

还有其他解决问题的方法吗?

最佳答案

您可以查询 information_schema 来为自己画一幅关于如何在数据库中定义约束的图。然后你就会知道删除时会发生什么。这不仅对这种情况有用,而且总是有用。

类似(用于约束)

select table_catalog,table_schema,table_name,column_name,rc.* from
information_schema.constraint_column_usage ccu,
information_schema.referential_constraints rc
where ccu.constraint_name = rc.constraint_name

关于postgresql - 如何检查我是否只删除了必需的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/132070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com