检查PostgreSQL中是否已存在用户定义的类型

假设我在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$$;

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...