How to enumerate foreign key constraints after migrating from 7.1.3?
От | Forest Wilkinson |
---|---|
Тема | How to enumerate foreign key constraints after migrating from 7.1.3? |
Дата | |
Msg-id | 32icevsv6cr0fks8julguj0au2hor1r5eg@4ax.com обсуждение исходный текст |
Ответ на | Re: fomatting an interval (lyris-pg@tibit.com) |
Ответы |
Re: How to enumerate foreign key constraints after migrating from 7.1.3?
|
Список | 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 по дате отправления: