| From: | shveta malik <shveta(dot)malik(at)gmail(dot)com> |
|---|---|
| To: | Dilip Kumar <dilipbalaut(at)gmail(dot)com> |
| Cc: | Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, vignesh C <vignesh21(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, shveta malik <shveta(dot)malik(at)gmail(dot)com> |
| Subject: | Re: Proposal: Conflict log history table for Logical Replication |
| Date: | 2026-04-28 04:15:56 |
| Message-ID: | CAJpy0uCUGb4u3t5pq9QnPC_jnr9N23bTe_rPYHM4XGW1yyUA8g@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, Apr 27, 2026 at 9:51 PM Dilip Kumar <dilipbalaut(at)gmail(dot)com> wrote:
>
> On Mon, Apr 27, 2026 at 3:08 PM shveta malik <shveta(dot)malik(at)gmail(dot)com> 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.
I agree. Initially I thought it might not be needed for temp table
error. But this could be confusing for unlogged tables. I created 2
tables: public.t1 (logged) and s1.t1 (unlogged), the error became
unclear for unlogged tables as it referred to t1 instead of s1.t1.
Yes, this can be done in a new thread.
> 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Dilip Kumar | 2026-04-28 04:20:13 | Re: Proposal: Conflict log history table for Logical Replication |
| Previous Message | Amit Kapila | 2026-04-28 04:15:21 | Re: Proposal: Conflict log history table for Logical Replication |