擦除Postgresql数据库

Wiping a Postgresql database

如何完全擦除Postgres数据库?我正在通过Django发送关于PaaS服务的查询,我想我不能访问任何命令行实用程序。我将删除整个数据库并重新创建它,但我没有相应的权限。

我正在寻找一个简单的命令,它可以将数据库返回到完全未经处理的状态。


您可以级联删除架构,然后删除数据库:

1
2
DROP schema myschema CASCADE;
DROP DATABASE mydb;

如果您没有权限这样做,您将不得不逐表删除。

编辑:如果只能删除表,这将为您提供要运行的SQL语句:

1
2
SELECT 'drop table '||schemaname||'.'||tablename||' CASCADE;'
FROM pg_tables WHERE schemaname = 'myschema' ORDER BY schemaname, tablename;