On Mon, Apr 27, 2026 at 3:08 PM shveta malik <[email protected]> wrote: > > Few comments on 001 alone: > > > 1) > postgres=# create publication pub1 for all tables except (table temp_table); > ERROR: cannot specify relation "temp_table" in the publication EXCEPT clause > DETAIL: This operation is not supported for temporary tables. > > postgres=# create publication pub1 for all tables except (table > pg_conflict.pg_conflict_16395); > ERROR: cannot add relation "pg_conflict.pg_conflict_16395" to publication > DETAIL: This operation is not supported for conflict log tables. > > We shall change the error message for CLT in alignement with new > EXCEPT error message added recently.
Yeah we should do that. I see the string we used in check_publication_add_relation() is non-schema qualified e.g. If you see the example below, the schemaname is omitted in the error message. Ideally, I would like this to be schema qualified but that can be fixed separately. Therefore, I think we can use the same "errormsg" for throwing the error for the conflict log table as well postgres[750473]=# create publication pub1 for all tables except (table pg_temp_7.temp_table); ERROR: 22023: cannot specify relation "temp_table" in the publication EXCEPT clause DETAIL: This operation is not supported for temporary tables. LOCATION: check_publication_add_relation, pg_publication.c:90 > 2) > \dRs+ > List of subscriptions > > Name | .... Conflict log destination | Conflict log table > sub1 | table | pg_conflict_16395 > > I know we discussed earlier whether to qualify the CLT with the schema > name in the above output, and one of us suggested it was not needed. > But on revisiting this thread, I wonder if including the > schema-qualified name would be useful, as it makes it easier for users > to refer to it quickly when needed. It took me a while to recall the > schema name here. Yeah we can add schema name, I would change this. > 3) > Also I would like to know which one is better here: > > \dRs+ giving 'Conflict log table' in tabular format (current way) > > Or giving it as 'Conflict log table' at the end, like: > > Conflict Log Table: > "pg_conflict.pg_conflict_16395" > > I’m slightly inclined toward option 2, similar to how \dRp shows > “Tables” and “Except tables” at the end; it catches the eye faster. > But I don't have a strong opinion here. I'd be interested to hear what > others think. I am not completely convinced, but I don't have a strong opinion against it, so as you said, let's hear from others as well. > 4) > When we create CLT during create-sub or alter-sub, can we please log > it to logile, something like: > LOG: created conflict log table "pg_conflict.pg_conflict_16395" for > subscription "sub1" I will change this in the new version -- Regards, Dilip Kumar Google
