postgresql - 我如何销毁 PostgreSQL 中模式的所有表

标签 postgresql

我在 public 模式中有一些表;

我想销毁架构中的所有表。就像 DROP TABLE public.*

最佳答案

我通常这样做(我已经评论了查询的执行,它只会被打印出来):

do $$
declare
    rec record;
    query text;
begin
    for rec in select * from pg_tables where schemaname = 'public'
    loop
        query = format('drop table %s.%s', rec.schemaname, rec.tablename);
        raise notice '%', query;
        --execute query;
    end loop;
end
$$ language plpgsql;

我用酷DO当我只想执行一些代码但不想创建存储过程时的事情。

关于postgresql - 我如何销毁 PostgreSQL 中模式的所有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33671704/

相关文章:

删除/插入行的 SQL CTE 语法

mysql - 如何将 mysql 查询更改为 postgresql 查询

postgresql - 如何使用 Homebrew 将 Postgis 安装到 Postgres@9.6 的 Keg 安装中?

sql - 如何从 PostgreSQL 中的文本中去除除数字以外的所有字符?

postgresql - 有没有一种简单的方法可以用默认值替换 null ?

PostgreSQL 异常处理

Postgresql 创建生成列语法错误,为什么?

postgresql - 你能在 Spring Boot 中连接到两个 postgres 数据库吗?

spring - MyBatis DB_VENDOR 不起作用

ruby-on-rails - Rails `with_lock` 会阻止读取吗?