Re: View parsing - Mailing list pgsql-general

From Bartosz Dmytrak
Subject Re: View parsing
Date
Msg-id CAD8_UcYDzyU2pGmMvyGdvisBx4bZa-RKUY1WCSm_0U09sqQ1jg@mail.gmail.com
Whole thread Raw
In response to View parsing  ("Dr. F. Lee" <rl201@cam.ac.uk>)
List pgsql-general
Hi,
how about this one?

SELECT n.nspname, c.relname, a.attname  
FROM pg_depend d
   INNER JOIN pg_class c ON (c.oid = refobjid) 
   INNER JOIN pg_attribute a ON (c.oid = a.attrelid AND d.refobjsubid = a.attnum)
   INNER JOIN pg_namespace n ON (c.relnamespace = n.oid)
   INNER JOIN  pg_rewrite rw ON (d.objid = rw.oid)
WHERE rw.ev_class = '"MySchema"."MyViewName"'::regclass
ORDER BY n.nspname, c.relname, a.attname

This will answer for all involved tables and columns - not only produced by a view, but also involved in joins and sub-queries. 
Assumption: rules are deprecated and used only by PG internal engine (for views).
If this assumption is not correct You should narrow pg_rewrite results to find proper rule.

Reagards,
Bartek

pgsql-general by date:

Previous
From: Venkat Balaji
Date:
Subject: Re: : Postgresql Error after recovery
Next
From: Josh Kupershmidt
Date:
Subject: Re: TG_COLUMNS_UPDATED