问题描述

如何从命令行删除PostgreSQL中的所有表?

不想要删除数据库本身,仅删除所有表及其中的所有数据.

推荐答案

如果所有表都在单个模式中,则此方法可行(以下代码假定模式名称为public)

DROP SCHEMA public CASCADE;
CREATE SCHEMA public;

如果您使用的是PostgreSQL 9.3或更高版本,则可能还需要恢复默认授予.

GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO public;
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐