Fix bugs in information_schema.referential_constraints view.

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

Commit: 0a6209f464ab86de496c0f63190ddc6247c6f6dd
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2011-10-15T00:24:50Z
Releases: 8.3.17
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 +15 −11