加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何检查PostgreSQL中是否存在“用户定义类型”?

发布时间:2020-12-13 16:42:39 所属栏目:百科 来源:网络整理
导读:说我已经在DB中创建了一些用户定义的类型, 即CREATE TYPE abc … 是否可以确定用户定义的类型是否存在?也许,使用任何postgres信息表? 这样做的主要原因是PostgreSQL似乎不支持CREATE OR REPLACE TYPE …,而且如果某个类型被创建了不止一次,我希望能够
说我已经在DB中创建了一些用户定义的类型,

即CREATE TYPE abc …

是否可以确定用户定义的类型是否存在?也许,使用任何postgres信息表?

这样做的主要原因是PostgreSQL似乎不支持CREATE OR REPLACE TYPE …,而且如果某个类型被创建了不止一次,我希望能够先删除现有的类型,然后重新加载新的一。

我在这里添加了在简单脚本中创建类型的完整解决方案,而不需要为此目的创建一个函数。
--create types
DO $$
BEGIN
    IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'my_type') THEN
        CREATE TYPE my_type AS
        (
            --my fields here...
        );
    END IF;
    --more types here...
END$$;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读