Re: Res: Finding all tables that have foreign keys referencing a table

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Res: Finding all tables that have foreign keys referencing a table
Дата
Msg-id 22895.1226088573@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Res: Finding all tables that have foreign keys referencing a table  (Andreas Joseph Krogh <andreak@officenet.no>)
Ответы Re: Res: Finding all tables that have foreign keys referencing a table  (Andreas Joseph Krogh <andreak@officenet.no>)
Список pgsql-sql
Andreas Joseph Krogh <andreak@officenet.no> writes:
> AFAICS this lists all tables which have a column named '?', which is not what I'm after. I'm after listing all
columnsreferencing a certain column as a FOREIGN KEY.
 

Should be possible to dredge that out of pg_constraint ... about like
this:

select confrelid::regclass, af.attname as fcol,      conrelid::regclass, a.attname as col
from pg_attribute af, pg_attribute a, (select conrelid,confrelid,conkey[i] as conkey, confkey[i] as confkey  from
(selectconrelid,confrelid,conkey,confkey,               generate_series(1,array_upper(conkey,1)) as i        from
pg_constraintwhere contype = 'f') ss) ss2
 
where af.attnum = confkey and af.attrelid = confrelid and     a.attnum = conkey and a.attrelid = conrelid;

Deconstructing those arrays in parallel is a bit of a pain :-(
        regards, tom lane


В списке pgsql-sql по дате отправления:

Предыдущее
От: Andreas Joseph Krogh
Дата:
Сообщение: Re: Res: Finding all tables that have foreign keys referencing a table
Следующее
От: Andreas Joseph Krogh
Дата:
Сообщение: Re: Res: Finding all tables that have foreign keys referencing a table