Системный каталог "pg_depend" содержит некоторую полезную информацию о зависимостях. Вы можете найти объекты в зависимости от определенных типов, например, так:
select * from pg_depend where refclassid = 'pg_type'::regclass
and refobjid = 'information_schema.sql_identifier'::regtype;
Находит объекты, зависящие от типа "information_schema.sql_identifier". В результате classid - это OID каталога, например, для столбца в зависимости от типа пользователя, classid - это «pg_class» :: regclass, objid - это OID строки pg_class, а objsubid - это значение attnum из pg_attribute поэтому для этого случая вы можете отформатировать результаты следующим образом:
select objid::regclass, attname from pg_depend
join pg_attribute on pg_attribute.attrelid = pg_depend.objid and pg_attribute.attnum = pg_depend.objsubid
where refclassid = 'pg_type'::regclass and refobjid = 'information_schema.sql_identifier'::regtype
and classid = 'pg_class'::regclass
limit 10
Итак, в pg_depend, (classid,objid,objsubid)
опишите некоторый объект, который зависит от объекта, описанного (refclassid,refobjid)
.