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

From Forest Wilkinson
Subject Re: How to enumerate foreign key constraints after migrating from 7.1.3?
Date
Msg-id bo3devc02ec0etilti2207olu74bdhv1ea@4ax.com
Whole thread Raw
In response to Re: How to enumerate foreign key constraints after migrating from 7.1.3?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: How to enumerate foreign key constraints after migrating
List pgsql-general
>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.

Unfortunately, having all my users run contrib/adddepend isn't an
option for me.  However, that script does contain a good deal of
information that I may be able to use for detecting old-style foreign
key constraints in my own code.

Okay, more questions:
I see that adddepend detects old-style foreign key constraints by
looking for groups of 3 triggers having 6 or more identical function
arguments.  Is that the best way to do it?  It occurs to me that an
alternative might be to find triggers that call RI_FKey_check_ins()
and have the tgisconstraint flag set.  Will either approach be safe in
postgres 7.4?  Perhaps a combination of the two would be best?

Would this topic be more appropriate for the hackers list?


pgsql-general by date:

Previous
From: Ron Snyder
Date:
Subject: Re: error restoring large objects during pg_restore
Next
From:
Date:
Subject: Re: relation model vs SQL1999 conformance vs PostgreSQL