Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hOjIY-0003Mk-Kb for pgsql-hackers@arkaria.postgresql.org; Thu, 09 May 2019 13:41:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hOjIX-0002f0-BU for pgsql-hackers@arkaria.postgresql.org; Thu, 09 May 2019 13:41:21 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hOjIW-0002aE-Ub for pgsql-hackers@lists.postgresql.org; Thu, 09 May 2019 13:41:21 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hOjIU-0002To-Em for pgsql-hackers@lists.postgresql.org; Thu, 09 May 2019 13:41:19 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id x49DfGwg002467; Thu, 9 May 2019 09:41:16 -0400 From: Tom Lane To: Peter Eisentraut cc: pgsql-hackers@lists.postgresql.org Subject: Re: Fuzzy thinking in is_publishable_class In-reply-to: References: <15150.1557257111@sss.pgh.pa.us> <29939.1557369425@sss.pgh.pa.us> Comments: In-reply-to Peter Eisentraut message dated "Thu, 09 May 2019 09:30:50 +0200" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <2465.1557409276.1@sss.pgh.pa.us> Date: Thu, 09 May 2019 09:41:16 -0400 Message-ID: <2466.1557409276@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Peter Eisentraut writes: > On 2019-05-09 04:37, Tom Lane wrote: >> But, if what we want is the definition that "information_schema is >> excluded from publishable tables", I'm not satisfied with this >> implementation of that rule. > ... It would also make sense to integrate both of these concepts more > consistently with the user_catalog_table feature. Perhaps the > information_schema tables could be made user catalogs. Really we should > just have a single flag in pg_class that says "I'm a catalog", > applicable both to built-in catalogs and to user-defined catalogs. I do not want to go there because (a) it means that you can't tell a catalog from a non-catalog without a catalog lookup, which has got obvious circularity problems, and (b) the idea that a user can add a catalog without hacking the C code is silly on its face. I would say that the actual important functional distinction between a catalog and a user table is whether the C code knows about it. Perhaps, for replication purposes, there's some value in having a third category of tables that are treated more nearly like catalogs than user tables in whether-to-replicate decisions. But let's not fuzz the issue by calling them catalogs. I think just calling it a "NO REPLICATE" property would be less confusing. > I think we can get rid of the ability to reload the information_schema > after initdb. That was interesting in the early phase of its > development, but now it just creates complications. We've relied on that more than once to allow minor-release updates of information_schema views, so I think losing the ability to do it is a bad idea. regards, tom lane