Для сгенерированной последовательности столбец "владелец" будет определен автоматически, так что может быть отличительным фактором.
Но это можно сделать и вручную, поэтому невозможно определить разницу между:
create table foo (
id_col serial not null
);
а также
create table foo (
id_col integer not null
);
create sequence foo_id_col_seq owned by foo.id_col;
Но если это вас устраивает, следующее утверждение может дать вам эту информацию:
SELECT s.relname as sequence_name,
t.relname as related_table,
a.attname as related_column,
d.deptype
FROM pg_class s
JOIN pg_depend d ON d.objid = s.oid
LEFT JOIN pg_class t ON d.refobjid = t.oid
LEFT JOIN pg_attribute a ON (d.refobjid, d.refobjsubid) = (a.attrelid, a.attnum)
WHERE s.relkind = 'S';
Вы получите по крайней мере одну строку для каждой последовательности по этому запросу: зависимость от схемы, в которой она была создана.
Для последовательности, принадлежащей столбцу, вы получите еще одну строку с таблицей и столбцом, которым она принадлежит.
person
a_horse_with_no_name
schedule
26.03.2011