如何检查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$$; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |