Forest Wilkinson <lyris-pg@tibit.com> writes:
> 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.
I believe there is a contrib module to help with updating foreign keys
into proper 7.3 form. Look in contrib/adddepend.
> 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?
Something looking at the triggers might work, but I'd recommend just
getting the pg_constraint entries to exist and then using those.
regards, tom lane