Re: Replace is_publishable_class() with relispublishable column in pg_class
Peter Smith <smithpb2250@gmail.com>
From: Peter Smith <smithpb2250@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Dilip Kumar <dilipbalaut@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-17T07:07:14Z
Lists: pgsql-hackers
Hi, Here is a completely different idea. This may solve the immediate problem re the replication of the Conflict Log Table (CLT) at least... 0. AFAIK, anything named with a "pg_" prefix generally means that the named thing is intended for PG internal use, right? 1. So, the CLT should be automatically named to have a "pg_" prefix, indicating that it really is an internal table, albeit not a system catalog. IIRC, this kind of name was a recent suggestion anyhow. 2. Then, the CREATE PUBLICATION pub1 FOR ALL TABLES should be modified to automatically *exclude* any tables having a "pg_" prefix. 3. But, if you *really* still want to publish the CLT, then you can do it: 3a) publish it explicitly CREATE PUBLICATION pub1 FOR TABLE pg_clt_for_sub_1234 3b) invent a new option so that FOR ALL TABLES won't exclude it: CREATE PUBLICATION pub1 FOR ALL TABLES WITH (publish_internal_tables=true); ====== Kind Regards, Peter Smith. Fujitsu Australia.