asa*_*gam 15 postgresql postgresql-9.4
我使用 postgresql,我需要删除模式中存在的所有表。如何从命令提示符中删除。
Phi*_*lᵀᴹ 21
您想使用 的CASCADE
选项DROP SCHEMA
。从文档:
CASCADE
- 自动删除包含在架构中的对象(表、函数等),进而删除依赖于这些对象的所有对象
小心 - 重点高于我的。
显然,您之后需要重新创建架构。
要删除当前架构中的所有表,您可以使用以下脚本:
DO $$ DECLARE
tabname RECORD;
BEGIN
FOR tabname IN (SELECT tablename
FROM pg_tables
WHERE schemaname = current_schema())
LOOP
EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(tabname.tablename) || ' CASCADE';
END LOOP;
END $$;
Run Code Online (Sandbox Code Playgroud)
WHERE schemaname = current_schema()
如果要删除不同架构中的所有表,请更改。
小智 7
yourdb=# DROP SCHEMA *schema_name* CASCADE;
Run Code Online (Sandbox Code Playgroud)
(工作,刚刚用 Postgresql 9.6.3 测试,可能不适用于以前的版本)
归档时间: |
|
查看次数: |
39336 次 |
最近记录: |