如何在PostgreSQL数据库中删除所有表?
如何在PostgreSQL数据库中删除所有表?
如何从命令行中删除PostgreSQL中的所有表格?
我不想要删除数据库本身,只想要删除所有表格和其中的所有数据。
admin 更改状态以发布 2023年5月21日
您可以编写一个查询来生成类似以下 SQL 脚本的内容:\n
select 'drop table "' || tablename || '" cascade;' from pg_tables;
\n\n或者:\n\n
select 'drop table if exists "' || tablename || '" cascade;' from pg_tables;
\n\n在某些表由于前面的 CASCADE 选项而自动删除的情况下。另外,正如评论中所述,您可能希望按模式名称过滤要删除的表:\n
select 'drop table if exists "' || tablename || '" cascade;' from pg_tables where schemaname = 'public'; -- or any other schema
\n\n然后运行它。\n\nGlorious COPY+PASTE 也可以工作。