Re: Logical replication row filter loses unchanged toasted columns

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>
Cc: Shinya Kato <shinya11(dot)kato(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Logical replication row filter loses unchanged toasted columns
Date: 2026-08-17 13:27:32
Message-ID: CAA4eK1+UwUbT=m+u6tc4GYvE6YEAZ_Ab2NY=EzrKYRGM_KMjDA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Aug 17, 2026 at 5:45 PM Matthias van de Meent
<boekewurm+postgres(at)gmail(dot)com> wrote:
>
> I don't understand the position of the LR developers here.
>
> AFAIK, Logical Replication is (and has been) positioned as a
> transparent add-on feature, that adds a new feature (replicating the
> logical changes in a database) without removing functionality (such as
> DML). LR's lack of support for certain functionalities (such as DDL,
> or until recently sequences) didn't remove those functionalities from
> the table or database that was configured for DDL, but instead the
> feature was built in a way that replication couldn't be set up for
> some features (sequences), or the replication stream would move into
> an error state (most breaking DDL changes).
>
> The solution that the developers seem to lean towards here is exactly
> opposite to this: Enabling logical replication on a table breaks [^1]
> (or would break [^2]) existing DML workloads.
>

The reason for existing behavior is that users can add/change RI after
creating publications, so we can't simply reject creating publications
when a proper RI is not defined on the table yet. Another related
example is that CREATE PUBLICATION p FOR TABLE t WHERE (non_ri_col >
5) succeeds today even if t's RI doesn't cover non_ri_col but will
give error at UPDATE/DELETE time. So, we are trying to follow the
similar pattern here.

>
> [^1] tables without replication identity can recieve neither UPDATEs
> nor DELETEs if those commands are included in the publication.
> [^2] the general direction of this thread seems to lean towards
> blocking DML on affected tables.

--
With Regards,
Amit Kapila.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jehan-Guillaume de Rorthais 2026-08-17 13:32:14 Re: Possible Visibility Map corruption in supported branches?
Previous Message Peter Eisentraut 2026-08-17 13:26:34 Re: Empty label expressions and views