关于postgresql 9.1:在一个命令中删除所有表而不在django dbshell中的postgres中删除数据库?

Delete all table without dropping database in postgres in django dbshell in one command?

我试过这个…

1
2
3
 select 'drop table if exists"' || tablename || '" cascade;'
from pg_tables
 where schemaname = 'public';

但似乎一个命令都不行?


如果您的所有表都在一个模式中,那么这种方法可以工作(下面的代码假设您的模式名称是"public")。

1
2
drop schema public cascade;
create schema public;

删除PostgreSQL中的所有表?

有关更多答案,请参阅上面的链接


运行以下bash脚本:

1
psql -h <pg_host> -p <pg_port> -U <pg_user> <pg_db> -t -c"select 'drop table "' || tablename || '" cascade;' from pg_tables where schemaname='public'" | psql -h <pg_host> -p <pg_port> -U <pg_user> <pg_db>

我从这里复制:http://www.commandlinefu.com/commands/view/12989/postgresql-drop-all-tables-from-a-schema

这对我很有用。