On Tue, Oct 5, 2021 at 11:10 AM Greg Nancarrow <gregn4...@gmail.com> wrote: > > On Tue, Oct 5, 2021 at 3:11 PM Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > > Code has been added to prevent a table being set (via ALTER TABLE) to > > > UNLOGGED if it is part of a publication, but I found that I could > > > still add all tables of a schema having a table that is UNLOGGED: > > > > > > postgres=# create schema sch; > > > CREATE SCHEMA > > > postgres=# create unlogged table sch.test(i int); > > > CREATE TABLE > > > postgres=# create publication pub for table sch.test; > > > ERROR: cannot add relation "test" to publication > > > DETAIL: Temporary and unlogged relations cannot be replicated. > > > postgres=# create publication pub for all tables in schema sch; > > > CREATE PUBLICATION > > > > > > > What about when you use "create publication pub for all tables;"? I > > think that also works, now on similar lines shouldn't the behavior of > > "all tables in schema" publication be the same? I mean if we want we > > can detect and give an error but is it advisable to give an error if > > there are just one or few tables in schema that are unlogged? > > > > .. > Yes, I agree that ALL TABLES IN SCHEMA should behave the same as the > ALL TABLES case. > Problem is, shouldn't setting UNLOGGED on a table only then be > disallowed if that table was publicised using FOR TABLE? >
Right, I also think so. Let us see what Vignesh or others think on this matter. -- With Regards, Amit Kapila.