Re: Determining a table column by the view column.

From: raghu ram <raghuchennuru(at)gmail(dot)com>
To: Dmitriy Igrishin <dmitigr(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Determining a table column by the view column.
Date: 2012-08-14 15:23:53
Message-ID: CALnrrJQfpqmSYwRy+S0He4eYBmxkEobnmQ6RnA+EAKq1R62cfQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Aug 14, 2012 at 7:48 PM, Dmitriy Igrishin <dmitigr(at)gmail(dot)com> wrote:

> Hey all,
>
> Is there way to determine a table column referenced by
> a view column via SQL?
>
> I want to create an universal function to determine
> mandatoriness of some column of the view (i.e.
> check the not null constraint of underlying table column).
>
>
Below query will find out the list of columns those have rules or views ?

SELECT d1.refobjid::regclass AS table,
a.attname AS column,
d2.refobjid::regclass AS "referenced by view"
FROM pg_depend d1
JOIN pg_depend d2 ON (d1.objid = d2.objid
AND d1.classid = 'pg_rewrite'::regclass
AND d1.refclassid ='pg_class'::regclass
AND d2.classid = 'pg_rewrite'::regclass
AND d2.refclassid = 'pg_class'::regclass
AND d2.deptype='i')
JOIN pg_attribute a ON (d1.refobjid = a.attrelid
AND d1.refobjsubid = a.attnum)
WHERE d1.refobjid=*'base_table'*::regclass
ORDER BY 1, 2, 3;

--

Thanks & Regards,

Raghu Ram

EnterpriseDB Corporation

Blog:http://raghurc.blogspot.in/

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2012-08-14 15:44:34 Re: Regarding pc-lint on PostgreSQL code
Previous Message Sébastien Lorion 2012-08-14 15:19:53 Re: Visualize database schema