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 1phYPX-0004JH-OZ for pgsql-bugs@arkaria.postgresql.org; Wed, 29 Mar 2023 16:12:31 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1phYPW-00050o-Mv for pgsql-bugs@arkaria.postgresql.org; Wed, 29 Mar 2023 16:12:30 +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 1phYPW-00050f-EJ for pgsql-bugs@lists.postgresql.org; Wed, 29 Mar 2023 16:12:30 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1phYPU-0008TD-8v for pgsql-bugs@lists.postgresql.org; Wed, 29 Mar 2023 16:12:29 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 32TGCQGA3994001; Wed, 29 Mar 2023 12:12:26 -0400 From: Tom Lane To: exclusion@gmail.com cc: pgsql-bugs@lists.postgresql.org Subject: Re: BUG #17877: Referencing a system column in a foreign key leads to incorrect memory access In-reply-to: <17877-4bcc658e33df6de1@postgresql.org> References: <17877-4bcc658e33df6de1@postgresql.org> Comments: In-reply-to PG Bug reporting form message dated "Wed, 29 Mar 2023 14:00:01 -0000" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <3993999.1680106346.1@sss.pgh.pa.us> Date: Wed, 29 Mar 2023 12:12:26 -0400 Message-ID: <3994000.1680106346@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk PG Bug reporting form writes: > The following query: > CREATE TABLE pt(tid oid, id int, PRIMARY KEY(tid, id)); > CREATE TABLE ft(id int, FOREIGN KEY (tableoid, id) REFERENCES pt); > produces a valgrind-detected error: We should probably just disallow system columns as foreign keys. There was a legitimate use-case for that with OID columns, but no more. I can't see a really good reason to use tableoid as a foreign key, and none of the other system columns are stable enough for this to be sane at all. So it's hard to summon interest in trying to remove bugs of this sort. regards, tom lane