是否有删除/删除Postgres数据库中所有内容的命令?

时间:2013-12-29 19:18:06

标签: postgresql

我正在学习Postgres的方式,所以我在我设置的实验数据库中运行了很多测试。有没有一种简单的方法可以将数据库恢复到“干净的平板”状态,而无需从头开始重新创建数据库?每次我想摆脱所有混乱时,我真的不想输入管理员密码或重新配置数据库权限。

2 个答案:

答案 0 :(得分:18)

如果所有对象都归同一用户所有,则可以使用:

drop owned by db_user_name cascade;

这将删除用户db_user_name拥有的所有对象。这可以在以该用户身份登录时执行,因此不需要特殊权限。

手册中的更多详细信息:http://www.postgresql.org/docs/current/static/sql-drop-owned.html

答案 1 :(得分:3)

从技术上讲,您可以放弃public架构并重新创建 ,如果它是您正在使用的唯一架构,并且您确信其余架构已正确创建或配置旁边(例如默认排序规则)。请注意,许多扩展程序会在public中安装函数。

除此之外,不...如果你想从一个真正干净的平板开始,你最好放弃数据库并重新创建它。