@dpb:あなたは、このための恒久的な簡単なアクセス方法を作成したい場合は
、あなたは常にあなたが、その後のトリガーを作成することができ
CREATE OR REPLACE VIEW oublic.enumz AS
SELECT n.nspname AS enum_schema,
t.typname AS enum_name,
e.enumlabel AS enum_value
FROM pg_type t
JOIN pg_enum e ON t.oid = e.enumtypid
JOIN pg_namespace n ON n.oid = t.typnamespace;
ビューを作成することができます挿入コマンド。
上記は、将来の参考のためにこれをデータベースに保存します。種類にそれを使用して他の回答とは対照的に、あなたが列にenum_range
を使用する場合は
SELECT pg_enum.enumlabel
FROM pg_type
JOIN pg_enum ON pg_enum.enumtypid = pg_type.oid
JOIN information_schema.columns ON information_schema.columns.udt_name =
pg_type.typname
WHERE pg_type.typtype = 'e' AND
table_name = $1 AND column_name = $2 ORDER BY pg_enum.enumsortorder
(:
甘い経由してデータ型を一覧表示することができます適切な 'GROUP BY 'で' string_agg(e.enumlabel、'、 ')をenum_value'として使用してください。どうもありがとう。 – punkish
これはばかげている。なぜ地球上には省略形はありませんか? (回答ありがとう!) – dpb
@dpb:psqlのコマンドラインクライアントで '\ dT +'を使用することができます –