如何获取使用视图的所有表和视图的列表?

时间:2016-01-31 12:54:46

标签: sql postgresql

我在Postgresql中有一个我需要更改的视图。 在我改变它之前,我需要知道谁使用它。

我很容易发现哪些函数使用它..但我很难找出哪些视图/表使用它。

我写了这段代码:

 <dependency>
     <groupId>org.neo4j</groupId>
     <artifactId>neo4j-ogm-api</artifactId>
     <version>2.0.0-M01</version>
   </dependency>

   <dependency>
     <groupId>org.neo4j</groupId>
     <artifactId>neo4j-ogm-core</artifactId>
     <version>2.0.0-M01</version>
    </dependency>

这给了我很多id但没有table \ views name。

我怎样才能得到名字?

1 个答案:

答案 0 :(得分:0)

这对你有用吗?

SELECT  DISTINCT dependee.relname
FROM    pg_depend 
        JOIN pg_rewrite             ON pg_depend.objid = pg_rewrite.oid 
        JOIN pg_class AS dependee   ON pg_rewrite.ev_class = dependee.oid 
        JOIN pg_class AS dependent  ON pg_depend.refobjid = dependent.oid 
        JOIN pg_attribute           ON pg_depend.refobjid = pg_attribute.attrelid 
                                    AND pg_depend.refobjsubid = pg_attribute.attnum 
WHERE   dependent.relname = 'Your_TableOrViewName_Here'
        AND pg_attribute.attnum > 0;