我在schema public中有一些表;
我想破坏架构中的所有表。像DROP TABLE public。*
答案 0 :(得分:3)
我通常这样做(我已经评论过执行查询,只会打印出来):
do $$
declare
rec record;
query text;
begin
for rec in select * from pg_tables where schemaname = 'public'
loop
query = format('drop table %s.%s', rec.schemaname, rec.tablename);
raise notice '%', query;
--execute query;
end loop;
end
$$ language plpgsql;
当我只想执行某些代码但又不想创建存储过程时,我使用了很酷的DO。
答案 1 :(得分:0)
如果所有表都在同一模式(公共)中:
DROP SCHEMA public CASCADE;
CREATE SCHEMA public;