首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PostgreSQL中物化视图的列名和数据类型?

PostgreSQL中物化视图的列名和数据类型?
EN

Stack Overflow用户
提问于 2015-06-29 15:10:32
回答 1查看 3.1K关注 0票数 7

对于一般表和视图,我可以通过运行以下查询查看它们的数据类型:

代码语言:javascript
运行
复制
select data_type from information_schema.columns
where .....

但是,这里似乎没有显示任何有关物化视图的信息。

通过运行以下命令,我能够获得物化视图的列列表:

代码语言:javascript
运行
复制
    SELECT
      a.attname as column_name
  FROM
      pg_catalog.pg_attribute a
      INNER JOIN
       (SELECT c.oid,
          n.nspname,
          c.relname
        FROM pg_catalog.pg_class c
             LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
        WHERE c.relname ~ ('^(materializedview)$')
          AND pg_catalog.pg_table_is_visible(c.oid)
        ORDER BY 2, 3) b
      ON a.attrelid = b.oid
      INNER JOIN
       (SELECT
            a.attrelid,
            max(a.attnum) as max_attnum
        FROM pg_catalog.pg_attribute a
        WHERE a.attnum > 0
          AND NOT a.attisdropped
        GROUP BY a.attrelid) e
      ON a.attrelid=e.attrelid
  WHERE a.attnum > 0
    AND NOT a.attisdropped
  ORDER BY a.attnum

但是,我无法确定是否能够确定底层列/数据类型。

有办法查看这些信息吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-11 12:14:09

我觉得你们很亲密。最后一步是加入pg_type

代码语言:javascript
运行
复制
join pg_catalog.pg_type as tp on tp.oid = attr.atttypid

字段tp.typname将具有数据类型。

以下查询使用命名空间(例如,模式)和关系(例如物化视图)名称获取列数据类型:

代码语言:javascript
运行
复制
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'

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31119260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档