Fix bugs in information_schema.referential_constraints view.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 6d363e0d2f30461a8f8b00c953828fb7135cd9e5
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2011-10-15T00:24:42Z
Releases: 8.4.10
Fix bugs in information_schema.referential_constraints view.

This view was being insufficiently careful about matching the FK constraint
to the depended-on primary or unique key constraint.  That could result in
failure to show an FK constraint at all, or showing it multiple times, or
claiming that it depended on a different constraint than the one it really
does.  Fix by joining via pg_depend to ensure that we find only the correct
dependency.

Back-patch, but don't bump catversion because we can't force initdb in back
branches.  The next minor-version release notes should explain that if you
need to fix this in an existing installation, you can drop the
information_schema schema then re-create it by sourcing
$SHAREDIR/information_schema.sql in each database (as a superuser of
course).

Files

PathChange+/−
src/backend/catalog/information_schema.sql modified +18 −14