Rod Taylor <rbt@rbt.ca> wrote:
>> 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.
>
>I assume you're doing the database upgrade for them or providing
>instructions? Could this be a mandatory portion of that process?
We're referring users to chapter 9.3 of the PostgreSQL Administrator's
Guide for data migration. Even the standard postgres dump/restore
procedure is nearly too much for our users. Anything more would be
asking for trouble.
>> 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?
>
>Yes, a combination of the two would probably be better. You would need
>to be careful about function call names for FKeys, there are a fair
>number of them. Checking for 3 triggers with the function name starting
>with RI_FKey* would probably be better.
Will the tgisconstraint flag always be set for these triggers? Will
the function names still be RI_FKey* once these databases are migrated
to postgres 7.4 or later?