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

Reply via email to