美文网首页
postgresql 函数删除所有 schema

postgresql 函数删除所有 schema

作者: jerryfive | 来源:发表于2019-12-18 11:15 被阅读0次

背景:

全覆盖数据库首选为删除数据库后重建, 但存在当前数据库可能正在被使用,无法删除的情况。
虽然可以使用进程关闭的方法再删库,但没办法用代码自动处理这个过程。

所以使用将数据库中的所有schema 都删除的方法。

在postgresql 中没有直接的函数来删除所有的 schema ,只好自己写一个了。

实现过程:

查找所有的schema : SELECT nspname FROM pg_namespace
遍历所有的schema : for param in exec **** loop *** end loop;
执行删除schema :drop schema ***

具体代码

create or replace function del_schema()
returns  void as $$
-- 定义函数内变量
declare
rec varchar;

begin
-- 遍历所有 schema
for rec in execute 'SELECT nspname  FROM pg_namespace where nspname like ''a%'' ' loop
-- 输出变量值
raise notice ' %' ,rec ;
-- 执行删除 schema
 execute ' drop schema ' || rec;
end loop;
return ;
end
$$
language 'plpgsql';
-- 执行函数
select del_schema();

相关文章

  • postgresql 函数删除所有 schema

    背景: 全覆盖数据库首选为删除数据库后重建, 但存在当前数据库可能正在被使用,无法删除的情况。虽然可以使用进程关闭...

  • PostgreSQL Schema

    PostgreSQL Schema PostgreSQL SchemaUsing CREATE SCHEMASyn...

  • Postgresql(schema)

    模式(Schema) 一个 PostgreSQL数据库集群包含一个或多个命名的数据库。用户和用户组在整个集群的范围...

  • postgres drop schema 删除表空间

    DESCRIPTION 描述 DROP SCHEMA 从数据库中删除表空间 表空间只能被它的所有者或者超级用户删除...

  • postgresql 找不到关系错误

    Spoon Kettle 连接PostgreSQL,写数据提示这错误,原因: 1. 表schema需要指定,比如:...

  • 2019-06-01 SQL笔记

    SQL操作方式: 创建 ,删除 , 修改 1.模式:创建CREATE SCHEMA 删除DROPSCHEMA ...

  • PostgreSQL删除或修改枚举

    PostgreSQL删除或修改已经被引用枚举类型的值 PostgreSQL是关系型数据库,关联性很想强,在删除修改...

  • postgresql函数

    1 若count != 1时,抛出异常并返回 2 循环批量插入或更新数据 3 使用主键-1 4 双层循环

  • 数据库关键词翻译

    SCHEMA 模式AUTHORIZATION 授权认可CASCADE 级联RESTRICT 限制DROP 删除PR...

  • PostgreSql基础语法

    基础语法 模式 POSTGRESQL 模式(SCHEMA)可以看着是一个表的集合。一个模式可以包含视图、索引、据类...

网友评论

      本文标题:postgresql 函数删除所有 schema

      本文链接:https://www.haomeiwen.com/subject/mggynctx.html