Peter Eisentraut <peter.eisentr...@2ndquadrant.com> 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