Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1gBp70-0002mg-Iw for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Oct 2018 22:43:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gBp6z-0005p7-3g for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Oct 2018 22:43:49 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1gBp6y-0005p0-4F for pgsql-hackers@lists.postgresql.org; Sun, 14 Oct 2018 22:43:48 +0000 Received: from out3-smtp.messagingengine.com ([66.111.4.27]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1gBp6t-00077P-Pn for pgsql-hackers@postgresql.org; Sun, 14 Oct 2018 22:43:47 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 9CE0421ADF; Sun, 14 Oct 2018 18:43:41 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Sun, 14 Oct 2018 18:43:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm2; bh=OCSZ1EYPY3CUjzEi7adqCEoHbKf srFOBtl/g4da8Pt0=; b=TbwOb/rQU3yMX4PLDbcc3SuZLfealwI6fPa5//3oXVT 9tP6JlEVMM+zkxZPDZgdwoWw/dkBX7KmERpgwrUAdOutUDTvZ459cOCy6zU3gBsr kNhdPUlvkh6ZCSXxDrqBAUw/qU9foo1U1ZXqdyRuWjk/iSUCKaAluJDowe2qPLlg TkTOLzgWnNQHbzy5h7Kr0+LoP45uj/x7DgfpH5l5d++hfYVjQN3cKwSgFJNy+cGB mlUPtW1acLr/uJh0hz3VqyNTDchfYNNxfjRBR4k60mUFuk59Xuwe1jOiPa9JM/R+ SuR9gz077Mu1ucf6Cg6gxfSzypcBZU5gwgT12Mq17Gg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=OCSZ1E YPY3CUjzEi7adqCEoHbKfsrFOBtl/g4da8Pt0=; b=fMP4OuMnp1zLPttrQHM8IV DbDkBKRHzsfWS+abPsM92I1WiO4ENw6FQBqI7qd2aGSU8LHXrSBoRLaBxiHI/fd1 bs6f53X063djd7LiSrq+NsZK6d5nDm9vGuWZf3rAwI1Buf3uWneLnz9+Ze3rC03g bqv+RQy8KBaBWZM40wYN4FojrgtOU4e1oUGVvGem5sLNDp6JmJ4/JXClCC1VxQsg LhtT5n/Q3ZdbgFmfd+g9UoE6NGina7i7GnTLPHjRKxYMW/JQEbTN95weZzBSkPxu E5pcRx0E2CM7QMv+i0LylCxvO2BPSMBcYmDDpU7JnwDidUtoIS6fBE3mdJLKoH1A == X-ME-Sender: X-ME-Proxy: Received: from intern.anarazel.de (c-71-202-120-112.hsd1.ca.comcast.net [71.202.120.112]) by mail.messagingengine.com (Postfix) with ESMTPA id DCE54E4073; Sun, 14 Oct 2018 18:43:40 -0400 (EDT) Date: Sun, 14 Oct 2018 15:43:39 -0700 From: Andres Freund To: Tom Lane Cc: pgsql-hackers@postgresql.org Subject: Re: [RFC] Removing "magic" oids Message-ID: <20181014224339.i6pqo7kpgj7x5vq2@alap3.anarazel.de> References: <20180930034810.ywp2c7awz7opzcfr@alap3.anarazel.de> <20181014220923.j4mlgue7y7chv533@alap3.anarazel.de> <943.1539556490@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <943.1539556490@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Hi, On 2018-10-14 18:34:50 -0400, Tom Lane wrote: > Andres Freund writes: > > Does anybody have engineering / architecture level comments about this > > proposal? > > FWIW, I'm -1 on making OIDs be not-magic for SELECT purposes. Yeah, it's > a wart we wouldn't have if we designed the system today, but the wart is > thirty years old. I think changing that will break so many catalog > queries that we'll have the villagers on the doorstep. Most of the other > things you're suggesting here could be done easily without making that > change. Yea, I agree that it'll cause some pain. And we could easily 'de-magic' oids everywhere except the SELECT * processing (that'd probably leave some behavioural difference with composite types, but there'd it'd probably be purely be better). I'm not sure we want that however - yes, the short time pain will be lower, but do we really want to inflict the confusion about invisible oids on our users for the next 20 years? I think there's a fair argument to be made that we should cause pain once, rather continuing to inflict lower doeses of pain. > Possibly we could make them not-magic from the storage standpoint (ie > they're regular columns) but have a pg_attribute flag that says not > to include them in "SELECT *" expansion. Right. And we could just use that for system columns too, removing a number of special case logic. Seems not unlikely that we'll have further magic columns that want to be hidden by default, given Kevin is pondering re-starting his work on incremental matviews. > BTW, the fact that we have magic OIDs in the system catalogs doesn't > mean that any other storage system has to support that. (When I was > at Salesforce, we endured *substantial* pain from insisting that we > move the catalogs into their custom storage system. There were good > reasons to do so, but it's not a decision I'd make again if there were > any plausible way not to.) Right. I suspect that we at some point want to support having catalog tables in different storage formats, but certainly not initially. Part of the reason why I want to remove WITH OIDs support is precisely that I do not want to add this kind of magic to other storage formats. > Personally, I'd drop WITH OIDs support for user tables altogether, rather > than having pg_dump create a "compatible" translation that won't be very > compatible if it loses the magicness aspect. Yea, I'm on-board with that. Greetings, Andres Freund