PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Obtenir une table et une colonne possédant une séquence

Vous pouvez utiliser la requête suivante :

select s.relname as seq, n.nspname as sch, t.relname as tab, a.attname as col
from pg_class s
  join pg_depend d on d.objid=s.oid and d.classid='pg_class'::regclass and d.refclassid='pg_class'::regclass
  join pg_class t on t.oid=d.refobjid
  join pg_namespace n on n.oid=t.relnamespace
  join pg_attribute a on a.attrelid=t.oid and a.attnum=d.refobjsubid
where s.relkind='S' and d.deptype='a'

Il renvoie toutes les séquences avec les informations sur le propriétaire. Il suffit de les filtrer dans la clause WHERE et c'est tout.