PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Ottieni una tabella e una colonna che possiedono una sequenza

Puoi utilizzare la seguente query:

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'

Restituisce tutte le sequenze con le informazioni sul proprietario. Basta filtrarli nella clausola WHERE e il gioco è fatto.