删除所有表而不在django dbshel​​l中的postgres中删除数据库在一个命令中?

时间:2013-11-16 10:53:48

标签: django postgresql-9.1

我试过了..

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

但似乎没有用于一个命令?

2 个答案:

答案 0 :(得分:56)

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

drop schema public cascade;
create schema public;

Drop all tables in PostgreSQL?

请参阅以上链接以获取更多答案

答案 1 :(得分:10)

运行以下bash脚本:

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

它对我有用。