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