我正在学习Postgres的方式,所以我在我设置的实验数据库中运行了很多测试。有没有一种简单的方法可以将数据库恢复到“干净的平板”状态,而无需从头开始重新创建数据库?每次我想摆脱所有混乱时,我真的不想输入管理员密码或重新配置数据库权限。
答案 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
中安装函数。
除此之外,不...如果你想从一个真正干净的平板开始,你最好放弃数据库并重新创建它。