我在 Redshift 中有一个包含超过 12,000 个表的架构。我想删除架构,但由于表数量过多,操作未完成。我什至无法执行 SELECT 查询,并且没有权限错误;只是表的数量过多导致了问题。我该如何解决这个问题?
尝试使用 Drop schema,编写 drop 语句,但没有任何效果。
它没有挂起,它正在工作,试图在一次事务中删除所有这些。您中途停止查询,它会回滚。没有办法看到它已经走了多远。最好的办法是批量删除表。例如,在 datagrip 中,您可以选择几百个删除语句并“作为单个脚本运行”,因此它的运行速度比仅选择所有这些语句并单击运行使其逐行运行要快得多。要获取所有删除语句,请执行以下操作
Select ‘;drop table myschema.’ || tablename
from pg_tables where schema_name=‘myschema’