在我的数据库里有113个表,
例如,我需要drop名为ilike '%gtab%'的表

最佳答案

获取名为gtab的表

 select relname from pg_class where relname ilike '%gtab%'  and relname not ilike
 '%seq%' and    relname not ilike  '%pkey%' and relname not ilike  '%idx%'

如果要获取drop query,只需使用COPY函数导出到.CSV文件,然后从导出的CSV文件中复制所有drop查询,并将其复制为execute
copy (select 'drop table  ' || relname || ' cascade;' from pg_class where relname
ilike '%gtab%'  and relname not ilike  '%seq%'and relname not ilike  '%pkey%' and
relname  not ilike  '%idx%' ) to'D:\DropScript.csv' with csv header

07-24 22:20