sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLのマテリアライズドビューの列名とデータ型?

    あなたはとても近いと思います。最後のステップは、pg_typeと結合することです。 :

    join pg_catalog.pg_type as tp on tp.oid = attr.atttypid
    

    フィールドtp.typname データ型があります。

    次のクエリは、名前空間(スキーマなど)とリレーション(マテリアライズドビューなど)の名前を使用して列のデータ型を取得します。

    select 
        attr.attnum,
        ns.nspname as schema_name, 
        cls.relname as table_name, 
        attr.attname as column_name,
        tp.typname as datatype
    from pg_catalog.pg_attribute as attr
    join pg_catalog.pg_class as cls on cls.oid = attr.attrelid
    join pg_catalog.pg_namespace as ns on ns.oid = cls.relnamespace
    join pg_catalog.pg_type as tp on tp.oid = attr.atttypid
    where 
        ns.nspname = 'your_schema'
        and cls.relname = 'your_materialized_view'
        and attr.attnum >= 1
    order by 
        attr.attnum
    

    'your_schema'を変更する必要があります および'your_materialized_view'




    1. インデックスの断片化の軽減

    2. FKがBにある、Bに関連付けられた行がないAの行を検索しますか?

    3. datetime column=todayである行を取得します-SQLサーバーnoob

    4. 複数行のMySQLONDUPLICATE KEY UPDATEは、単一のクエリに挿入されます