sql >> Database teknologi >  >> RDS >> PostgreSQL

Kolonnenavne og datatyper for materialiserede visninger i PostgreSQL?

Jeg tror, ​​du er meget tæt på. Sidste trin ville være at deltage med pg_type :

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

Feltet tp.typname ville have datatypen.

Følgende forespørgsel får kolonnedatatyper ved hjælp af navneområde (f.eks. skema) og relationsnavn (f.eks. materialiseret visning):

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

Du skal ændre 'your_schema' og 'your_materialized_view' .




  1. Opdatering af flere MySQL-tabelkolonner ved hjælp af arrays med PDO

  2. MySQL Show Grants for alle brugere

  3. få .findOrCreate() fejl

  4. Spark:Indlæsning af stor MySQL-tabel i DataFrame mislykkes