删除PostgreSQL中的所有表

删除PostgreSQL中的所有表

删除postgresql中的所有表操作:

DO
$$
    DECLARE
        r RECORD;
    BEGIN
        -- 只删除表,不删除其他views、sequences
        -- 放在要删除的表的库的shcema下
        -- 如果是用单行执行的客户端工具,记得全选整个语句才能执行,单行执行会报语法错误。
        FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = current_schema())
            LOOP
                EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE';
            END LOOP;
    END
$$;

在datagrip中执行需要选中整个存储过程,不能直接选中单行执行,会报语法错。

执行后schema下的所有表会被删除,其他的不会删除

image

大T笔记所有文章均为本人原创,转载请您注明来源,并留下原文链接地址,是对我的尊重,也是对知识的尊重,谢谢!
大T笔记 » 删除PostgreSQL中的所有表

大T笔记-我的个人互联网创业和自由职业之路

关于我 我的百宝箱
大T笔记-专注个人互联网创业和自由职业