Fix bugs in information_schema.referential_constraints view.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 15 Oct 2011 00:24:17 +0000 (20:24 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 15 Oct 2011 00:24:17 +0000 (20:24 -0400)
commitd26e1ebaf5f8f59c27327e8fd810fa4b26431a1f
tree68d8222b613ab1cb9641636a2e97e6731f046c25
parente6858e665731c0f56d3ecc9fbb245c32d24f8ef7
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).
src/backend/catalog/information_schema.sql