Re: Proposal: Conflict log history table for Logical Replication - Mailing list pgsql-hackers

From shveta malik
Subject Re: Proposal: Conflict log history table for Logical Replication
Date
Msg-id CAJpy0uDB0HAsru6sy3eD_daSAxKp75139D-DVMFTOyXmEJoinQ@mail.gmail.com
Whole thread Raw
In response to Re: Proposal: Conflict log history table for Logical Replication  (vignesh C <vignesh21@gmail.com>)
Responses Re: Proposal: Conflict log history table for Logical Replication
Re: Proposal: Conflict log history table for Logical Replication
List pgsql-hackers
On Thu, Jan 1, 2026 at 11:43 AM vignesh C <vignesh21@gmail.com> wrote:
>
>
>  IsSystemClass(Oid relid, Form_pg_class reltuple)
>  {
>         /* IsCatalogRelationOid is a bit faster, so test that first */
> -       return (IsCatalogRelationOid(relid) || IsToastClass(reltuple));
> +       return (IsCatalogRelationOid(relid) || IsToastClass(reltuple)
> +                       || IsConflictClass(reltuple));
>  }
>
>
> After this change we will not be able to truncate the user created
> tables in pg_conflict schema:
> postgres=# create table pg_conflict.t1(c1 int);
> CREATE TABLE
> postgres=# insert into pg_conflict.t1 values(1);
> INSERT 0 1
>

But do we even want to create user-tables (other than CLT) in
pg_conflict schema? I feel operations like creation of tables or
moving any table in and out of pg_conflict schema (as suggested in my
previous email) should not even be allowed, similar to pg_toast.

postgres=# create table pg_toast.t1(i int);
ERROR:  permission denied to create "pg_toast.t1"
DETAIL:  System catalog modifications are currently disallowed.

postgres=# ALTER TABLE  sch1.t3 set schema pg_toast;
ERROR:  cannot move objects into or out of TOAST schema

thanks
Shveta



pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: Patch: dumping tables data in multiple chunks in pg_dump
Next
From: Pavel Stehule
Date:
Subject: not fully correct error message