Проверить, существует ли уже определенный пользователем тип в PostgreSQL

Скажем, я создал в БД некоторые определяемые пользователем типы,

т.е. СОЗДАТЬ ТИП abc ...

Можно ли тогда определить, существует ли определяемый пользователем тип или нет? Возможно, с помощью любой из информационных таблиц postgres?

Основная причина этого в том, что PostgreSQL, похоже, не поддерживает CREATE OR REPLACE TYPE ... , и если определенный тип создается более одного раза , Я хочу иметь возможность сначала удалить существующий, а затем повторно загрузить новый.

53
задан lospejos 2 April 2019 в 02:17
поделиться

1 ответ

Другая альтернатива

WITH namespace AS(
    SELECT oid 
        FROM pg_namespace 
        WHERE nspname = 'my_schema'
),
type_name AS (
    SELECT 1 type_exist  
        FROM pg_type 
        WHERE typname = 'my_type' AND typnamespace = (SELECT * FROM namespace)
)
SELECT EXISTS (SELECT * FROM type_name);
0
ответ дан 7 November 2019 в 08:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: