Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mDICG-00055F-B2 for pgsql-bugs@arkaria.postgresql.org; Tue, 10 Aug 2021 03:12:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mDICD-00080I-L3 for pgsql-bugs@arkaria.postgresql.org; Tue, 10 Aug 2021 03:12:53 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mDHx4-0005Wn-8N for pgsql-bugs@lists.postgresql.org; Tue, 10 Aug 2021 02:57:14 +0000 Received: from mx0a-00327001.pphosted.com ([148.163.144.37]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mDHwv-0006Nz-CW for pgsql-bugs@lists.postgresql.org; Tue, 10 Aug 2021 02:57:12 +0000 Received: from pps.filterd (m0161777.ppops.net [127.0.0.1]) by mx0a-00327001.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 179KIrpY013127 for ; Tue, 10 Aug 2021 14:57:03 +1200 Received: from aus01-me3-obe.outbound.protection.outlook.com (mail-me3aus01lp2239.outbound.protection.outlook.com [104.47.71.239]) by mx0a-00327001.pphosted.com with ESMTP id 3abb9trq05-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 10 Aug 2021 14:57:03 +1200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LMr/Ab75Q+1Ac/ig6eP4+Vzoxp1zEHqQSd5DVNBBFM86Opr42/Yxooq9Kq2C4ab7VsVK/NSt+JYp9WXpNJRc7TD8l4YVq0D39ct3ruxAC6V68q+PrNmywjHj3mW97vmiPycBGHpLwN2ntCGn7D5lRXxqCjMf3XhO/2gasOu3po/swMIB5TCDu1eD8ehrTqStHb5lYZ7NZa++/tVLtrqpsIdxdbsPNvUUrQhvUjPTTI8oOrHySkaeOQlGwDX+egojzQkC15bFSe5P42zI5alO/PJ28SS1Kz3iVvclBQdnGAAXQOXZnEhLzGECIDUKMiErtEg/a8FOKoFrnA67uYVhGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wiGgbwOtaa93KmX9Kfb15+smV25OT2PlMz3dVzfUHv4=; b=K9SnpV++JW7ViMcU/ZmKIqNTChpldSNpBf0XlZtgBCngrxixAz0iZ/AI9TSXObV8ZOYisWEkI2QMIfHu33lCjkUkPdmfGM2XLBA3oFUlUzo06L0m0l1yheVd/8C3WSShFRw7PLa0cdQz0kc857zLbAz6/rfh/jO770tY1i4Se80GcGtaxW0x2SPjaNQ4LY2n6cpu75CEFzUs7wLgDeKvsJIrN/gVUWpvOZg3Wpd2fhuqvjLn8J2XVx/Uguz3FENCmGp6wTwbygbyRiIWv1mFmN+Q28S3Edd/iEdqWGUHKkt8TiHmu3QwXcN4d0tsW0Xnga6rHnL6Uo8g7YXKf0V21Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=datam.co.nz; dmarc=pass action=none header.from=datam.co.nz; dkim=pass header.d=datam.co.nz; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nzpost.onmicrosoft.com; s=selector2-nzpost-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wiGgbwOtaa93KmX9Kfb15+smV25OT2PlMz3dVzfUHv4=; b=KuDNbJ+7lCWGZPLx3SXTIDM33rHG6M6xB/QdPdEJnBdRzZ7GPNeQLftTgAfGO0BiJDtVb/3pX8Kl/CeIYjcNQ6bOQB/acp6sebOlJpVNunyVuS0rDChOKcPnKOt2ZacUMm6I9uQTVXAJ3J7OpDgapQdQN02Uu/oIaM5ei6RxzeI= Received: from SY4PR01MB7201.ausprd01.prod.outlook.com (2603:10c6:10:146::5) by SYXPR01MB1709.ausprd01.prod.outlook.com (2603:10c6:0:26::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.19; Tue, 10 Aug 2021 02:57:00 +0000 Received: from SY4PR01MB7201.ausprd01.prod.outlook.com ([fe80::177:9fff:47a:51af]) by SY4PR01MB7201.ausprd01.prod.outlook.com ([fe80::177:9fff:47a:51af%6]) with mapi id 15.20.4394.023; Tue, 10 Aug 2021 02:57:00 +0000 From: Alex Zeng To: "pgsql-bugs@lists.postgresql.org" Subject: information_schema.constraint_column_usage shows wrong table name Thread-Topic: information_schema.constraint_column_usage shows wrong table name Thread-Index: AQHXjZJ8lMlT2I3JkESr2rzHKt6Skw== Date: Tue, 10 Aug 2021 02:57:00 +0000 Message-ID: Accept-Language: en-NZ, en-US Content-Language: en-NZ X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: lists.postgresql.org; dkim=none (message not signed) header.d=none;lists.postgresql.org; dmarc=none action=none header.from=datam.co.nz; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 041cfc2f-7e5f-479f-441c-08d95baa863b x-ms-traffictypediagnostic: SYXPR01MB1709: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EKQZ0F70moTzXwb1JUfNuqfyE+jhqDpq/kikKxvCBcSzy5HMtiYEBsjwUuyAUKCDLiAgpG6r4eKwuD5m8yXxXguJ94oTUunKyGK21ev0anDRh39iXhQQ+SxtPUvH/DswJMmIuNHOXp3rDdH0m74f1Id6ctK/sDHjU/XTAA6B+Bjdq6jg+zu6Xg9rgP6SZBdW1speuYiQj+9ocpxtJwz5rCI2AGluVKrVDI9THL+Mi4curAloyg/xLrvLhT+mYs2okvYhzat0NaAdJ2VPh1FrnVxbpgLY36qrZfvmcbSFaLW60v9i1Qm64uhc5fADnxLl8/zEN9fjk4DacuolBB2r+j8B2iCtoNDWeB6atUusM2uHvhR/MHHOF38LlwL0zn83biilvpzLFmH1CuyAOesAzwKCJXrHzx+5QMcHi+Nqjn2CUnntfOoRJLBD/+9eIYBu/9v7ICW6tWbtD2Vf8mzsOeCDf3iRdcC+Sw/JejWBznLzzSWNJheyCww+no+Xym31pSqdqYqvDJOogxG9Gibjsm1UCarJ+vh7fzSXZBUWI69Se+7rnT0GMRkN6Od6xejiesdERxfEQmKsc5JKONPzrt1lzxU8+hVZBVqD61KERPqfK49PX/ThGEmkCraRyh3wBNZl07cG9qJqW4cNYamGWBg4O/zj8r6YAwZZ4tyUnRmUCzCTKc1Ovu5xc0fgKF682ZlYA53XPgczBSNEf1l7xg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SY4PR01MB7201.ausprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(66476007)(66556008)(64756008)(66446008)(66946007)(55016002)(76116006)(508600001)(86362001)(316002)(83380400001)(7696005)(38100700002)(122000001)(2906002)(33656002)(8936002)(186003)(52536014)(71200400001)(5660300002)(6506007)(6916009)(19627405001)(9686003)(38070700005)(8676002)(26005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?DCtd8LB2B+kkYfMr2Q5Nbc2BXQEBKPIjlIc+RjgJExq7dEpOpSYionw69S?= =?iso-8859-1?Q?STPm67rX5ITgip/6E5RPkePzeySylbeX/UaKAenXnoDvI7wUpZD4hla6AB?= =?iso-8859-1?Q?BKRi4h7uonsLkcNpg3q+8PnnKs2iM3WmLIaxHU1eGUdg39Oz0yDwXnD9Lw?= =?iso-8859-1?Q?55OyQhNHLUeIaFOOCB4bx5VLOLssYXNX20+q1YXb0/CGGuucCokr0tlkMH?= =?iso-8859-1?Q?UxjYC0e3I8AElZcOCGv4qw+my9C11WxaIehZRUcom6M8Wnp41PrBP+wC1A?= =?iso-8859-1?Q?r/wYPGxTNO+c+UM6iQMCFc3anEd6zOtQFSWGa8K6Kuvk/xV/oYkqv3jSl0?= =?iso-8859-1?Q?oqXI8EdWB23U20WQPuxwcAytbJPSoFBzyGgQ2uMTq400FRbSCwib3h7BGL?= =?iso-8859-1?Q?Gcd3PPLo05JMDohE0QQ9aGdep2gg3W44afp1cKjKj0Q1EGa6udRD8Qtncr?= =?iso-8859-1?Q?GY5x974jq+0EUWTJvEMNi5QRc6UPmZgAHsFuw/zXL4tx0ejLxih1slKuHN?= =?iso-8859-1?Q?GyYmvp6HBpICBbSK+xD/uleyCyrnFPAl4PfaQLgG9hkaxNqqgVF5sJXCAD?= =?iso-8859-1?Q?wLSdZufRnTB6yhDvzqDWAciP0m1Tv1UXiUuEw98ZozQxbfq+aGRqf7HUB3?= =?iso-8859-1?Q?DgH8RWzlRvF6DzM71JNmHSUSw7US+U93x4hMZFgbd2wR7w58txMzIzxh3A?= =?iso-8859-1?Q?69U2LnJiVcGiHbla4XHsiJXH1PMakcYF/f7PuRvfTrxGiG9m193wHaMe6W?= =?iso-8859-1?Q?36zvEHBfzhJKR4Vu//ajm80weJ1LLbOPx4uq2P3uAQS0p9a2UcK7y2HIsH?= =?iso-8859-1?Q?CScKTGtuajGLA3QEzFouQ89+uBgs7Hkag7eyNWn2+rbIbvnBOeigzf9OBt?= =?iso-8859-1?Q?Nkhfkg51ORVmOroHFBexMXFdnJUCWvhfzOyQiIbuQVk93xZKZ5JRHrR0sM?= =?iso-8859-1?Q?uI4D0grSmMQ0onS2GOk9saJrR/qT93ch2EByRzwr0UXUtS6+Y7TERPxvcl?= =?iso-8859-1?Q?wSSfjqCb+MgsEbO5sRcLiCVQJtdvu3dSijTcYZ2JNGaWsfs1cc56pOwkON?= =?iso-8859-1?Q?AiLN5jYII1o3N+IgPjGzvyke7KRVQofesN75FXS81P83ttII3xHutqALeN?= =?iso-8859-1?Q?CrMu12oag/No8JQZ2oAUIME0PanYtHk2/HDm659zChgQ8IrkkhRaCGGO01?= =?iso-8859-1?Q?RC028ETgEkZzKY+ppgi+x2q3LsNppUQZj21zruOvkMpbwDPdDAjr0qCzIs?= =?iso-8859-1?Q?LfODjneQn3wVxDy3RtFREdn1/rSzCzIfsp6Snd1VZFPAEUCHmVhvAY2bBH?= =?iso-8859-1?Q?b3BjqNj6q4TlCzBKQ4mXsgiDu/awTWIDlDMHAGLhuXmKbSyDHcC25OcdoF?= =?iso-8859-1?Q?0mN4RQlkX1?= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_SY4PR01MB7201EE307A0E5F28C4BF26B8B7F79SY4PR01MB7201ausp_" MIME-Version: 1.0 X-OriginatorOrg: datam.co.nz X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SY4PR01MB7201.ausprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 041cfc2f-7e5f-479f-441c-08d95baa863b X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2021 02:57:00.2940 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b5e5df3e-0bd8-4eb9-acb8-e9792f3c84dd X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: hf+P/urSt7gDv128Jy4eQQANOZmA47Q9Bl9+F6t2R3ojr8jm8C4zoXbk5l3+N4S7OuBSbFboaQy6IMWuCJw/Eg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SYXPR01MB1709 X-Proofpoint-GUID: WhfWmuzRUrLPGnu93K4ep6qRyCY_-flx X-Proofpoint-ORIG-GUID: WhfWmuzRUrLPGnu93K4ep6qRyCY_-flx X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475 definitions=2021-08-10_01,2021-08-06_01,2020-04-07_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 bulkscore=0 mlxlogscore=805 spamscore=0 impostorscore=0 phishscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0 clxscore=1011 priorityscore=1501 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2107140000 definitions=main-2108100017 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_000_SY4PR01MB7201EE307A0E5F28C4BF26B8B7F79SY4PR01MB7201ausp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, When creating a constraint from table A to table B, the table name and colu= mn name in information_schema.constraint_column_usage shows table B. That = makes impossible to check whether a constraint exists as we can have a cons= traint from table C to B and they will have same value in information_schem= a.constraint_column_usage. Should we make the table_name and column_name as A's name? =3D# create table item(id integer, item_name character VARYING(64),cat_id i= nteger); CREATE TABLE =3D# create table catagory(id integer, cat_name character VARYING(64),CONST= RAINT catagory_pkey PRIMARY KEY (id) ); CREATE TABLE =3D# alter table item add constraint fk_cat_id FOREIGN KEY (cat_id) REFEREN= CES catagory(id); ALTER TABLE =3D# select * from information_schema.constraint_column_usage where constra= int_name=3D'fk_cat_id'; table_catalog | table_schema | table_name | column_name | constraint_catal= og | constraint_schema | constraint_name ---------------+--------------+------------+-------------+-----------------= ---+-------------------+----------------- vretrieve | public | catagory | id | vretrieve = | public | fk_cat_id (1 row) This email with any attachments is confidential and may be subject to legal= privilege. If it is not intended for you please reply immediately, destroy= it and do not copy, disclose or use it in any way. --_000_SY4PR01MB7201EE307A0E5F28C4BF26B8B7F79SY4PR01MB7201ausp_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi,

When creating a constraint from table A to table B, the table name and colu= mn name in information_schema.constraint_column_usage  s= hows table B. That makes impossible to check whether a constraint exists as we can have a constraint from table C to B = and they will have same value in information_schema.constraint_colu= mn_usage.

Should we make the table_name and column_name as A's name?

=3D# create table item(id integer, item_name character VARYING(64),cat_id i= nteger);
CREATE TABLE
=3D# create table catagory(id integer, cat_name character VARYING(64),= CONSTRAINT catagory_pkey PRIMARY KEY (id) );
CREATE TABLE
=3D# alter table item add constraint fk_cat_id FOREIGN KEY (cat_id) RE= FERENCES catagory(id);
ALTER TABLE
=3D# select * from information_schema.constraint_column_usage where co= nstraint_name=3D'fk_cat_id';
 table_catalog | table_schema | table_name | column_name | constr= aint_catalog | constraint_schema | constraint_name
---------------+--------------+------------+-------------+------------= --------+-------------------+-----------------
 vretrieve     | public       | catagory=   | id          | vretrieve     &n= bsp;    | public            | fk_ca= t_id
(1 row)


This email with any attachments is confidential and may be subject to legal= privilege. If it is not intended for you please reply immediately, destroy= it and do not copy, disclose or use it in any way. --_000_SY4PR01MB7201EE307A0E5F28C4BF26B8B7F79SY4PR01MB7201ausp_--