Mariel Cherkassky <mariel.cherkassky@gmail.com> writes:
> 2)select conname, (select r.relname from pg_class r where r.oid =
> c.confrelid) as orig_table, (select array_agg(attname) from pg_attribute
> where attrelid = c.confrelid and ARRAY[attnum] <@ c.conkey) as
> orig_cols, (select r.relname from pg_class r where r.oid = c.conrelid) as
> foreign_table, (select array_agg(attname) from pg_attribute where
> attrelid = c.conrelid and ARRAY[attnum] <@ c.conkey) as foreign_cols from
> pg_constraint c where c.confrelid = (select oid from pg_class where
> relname = '*my_table*') and c.contype='f'
> On the second output in the orig_cols I got a few weird outputs like
> : {........pg.dropped.5........} or even a columns that doesnt have a
> unique index (just a random column from the orig_table).
You need to be looking at confkey not conkey for the columns in the
confrelid table.
regards, tom lane