既存のpostgresql enumデータ型から値を削除しようとしています。私の研究では、私が望まない値を除いて列挙型を再作成する必要があることがわかります。これを達成するための私の考えはサブクエリの値を選択し、postgresqlの列挙型に保存
select e.enumlabel as enum_value from pg_type t join pg_enum e on t.oid = e.enumtypid
join pg_catalog.pg_namespace n ON n.oid = t.typnamespace where t.typname = 'alert_level' where e.enumlabel is not 'value i want to exclude'
create type alert_type2 as enum ('ABOVE QUERY HERE') ::alert_type
を経由して、既存のデータ型からすべての値を取得し、私が欲しい、これらの値を取り、何とか新しいデータ型
そうにそれらを挿入することがあります私の質問:サブクエリから値を取得し、クエリ結果から列挙型を作成することは可能ですか?これを行うより良い方法はありますか?
私もこのような試みをしましたが、select enum_rangeから値を除外する方法を理解できません。
あなたは、関数やDO
ブロック内の例を動的問合せをexceuteする必要が
create type alert_type2 as enum (select enum_range(NULL::alert_type)::text)
ありがとう、私の良い先生。優れた作品!あなたの答えを説明するかもしれないドキュメンテーションに私を指摘できますか? – NoToBagels