Re: Replace is_publishable_class() with relispublishable column in pg_class

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Dilip Kumar <dilipbalaut@gmail.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-16T16:28:11Z
Lists: pgsql-hackers
Hi,

On 2025-12-16 21:19:21 +0530, Dilip Kumar wrote:
> Motivation
> ========
> 1) The check is performed frequently in the logical decoding path
> (e.g., in pgoutput_change and pgoutput_truncate). Moving this to a
> cached catalog attribute in pg_class allows for a simple check.

You could solve this more resource-efficiently by putting the information in
the relcache entry.

> 2) As suggested by Amit Kpila [2], for the upcoming Conflict Log Table
> feature, we need a clean way to exclude these internal conflict log
> tables from publication. A catalog flag allows us to set this property
> at relation creation rather than adding more special cases.

Seems like the issue here also could be addressed the same way?

Greetings,

Andres Freund