継承したコードベースを見ています。私はPostgresを初めて使用します(ただし、Oracleのバックグラウンドを持っています)。これは、クエリの1つで列挙型の例だと思います。誰かが私がこの考え方で正しいかどうか、そうでない場合はこれが何であるか、そして私がそれについてもっと知る方法を確認できますか?.
SELECT fp.id AS fund_part_id, fp.fund_id, fp.principle_amount, fp.detail
FROM finance.fund_part fp
WHERE fp.status = 'live'::finance.fund_part_status;
1つのenumtypid oid
に属する一連のレコードがあることをpg_enumカタログ(テーブル)で確認できます。 enumlabel name
列のエントリの一部は['live', 'for sale', 'pre-agrement']
です。
はい、finance.fund_part_status
は列挙型のようです。
psql
コマンドラインインタープリターを使用していると仮定して、次のコマンドを試してください。
\dT+ finance.fund_part_status;
システムカタログテーブルpg_type
へのこのクエリで確実に見つけることができます:
SELECT typtype
FROM pg_type
WHERE oid = 'finance.fund_part_status'::regtype
引用します pg_type
に関するマニュアル :
typtypeは、基本タイプの場合はb、複合タイプ(たとえば、テーブルの行タイプ)の場合はc、ドメインの場合はd、列挙型の場合はeです 、疑似タイプの場合はp、範囲タイプの場合はr。 typrelidおよびtypbasetypeも参照してください。
大胆な強調鉱山。
オブジェクト識別子タイプ に関する章のregtype
へのキャストの詳細。