On Fri, Sep 11, 2026 at 3:51 PM Amit Kapila <[email protected]> wrote: > > On Thu, Sep 10, 2026 at 11:09 AM vignesh C <[email protected]> wrote: > > > > Finding #5: SET UNLOGGED on an excluded table produces an unrestorable > > catalog state > > > > + if (!toLogged && > + GetRelationExcludedPublications(RelationGetRelid(rel)) != NIL) > + ereport(ERROR, > + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), > + errmsg("cannot change table \"%s\" to unlogged because i > > Can we have one unified function to check whether a table is part of > any publication and get an additional out parameter whether that is an > include or exclude table? As we can't have the same table both > included and excluded, this should work unless I am missing something. >
I did not understand "we can't have the same table both included and excluded". What about: test_pub=# CREATE PUBLICATION pub1 FOR ALL TABLES EXCEPT (TABLE t1); CREATE PUBLICATION test_pub=# CREATE PUBLICATION pub2 FOR TABLE t1; CREATE PUBLICATION test_pub=# select * from pg_publication_rel; oid | prpubid | prrelid | prexcept | prqual | prattrs -------+---------+---------+----------+--------+--------- 16392 | 16391 | 16387 | t | | 16394 | 16393 | 16387 | f | | (2 rows) ====== Kind Regards, Peter Smith. Fujitsu Australia
