How to enumerate foreign key constraints after migrating from 7.1.3? - Mailing list pgsql-general

From Forest Wilkinson
Subject How to enumerate foreign key constraints after migrating from 7.1.3?
Date
Msg-id 32icevsv6cr0fks8julguj0au2hor1r5eg@4ax.com
Whole thread Raw
In response to Re: fomatting an interval  (lyris-pg@tibit.com)
Responses Re: How to enumerate foreign key constraints after migrating from 7.1.3?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
I'm porting a postgres client app (along with all the users'
databases) from postgres 7.1.3 to 7.3.x.  The new version of the app
needs a way of enumerating foreign key constraints on a table,
including the constraint names and the constrained columns.
Unfortunately, postgres 7.1.3 didn't have a pg_constraint table, and
the dump/restore process doesn't create the appropriate pg_constraint
rows for foreign keys when migrating.  With that in mind, how can I
enumerate foreign key constraints in any database, whether it was
originally created with postgres 7.1.3 or 7.3.x?

It looks like I can get a list of constraint names from the pg_trigger
table, but each foreign key constraint corresponds to several triggers
on either of the two tables involved.  How can I distinguish the
referenced table from the referencing one?  Is pg_trigger even the
correct place to look?

Once I find a migrated foreign key constraint, since it won't have an
entry in pg_constraint, will I be able to drop it?


pgsql-general by date:

Previous
From: John Smith
Date:
Subject: Re: increment_by@
Next
From: Ernest E Vogelsinger
Date:
Subject: Re: Index not being used in MAX function (7.2.3)