Re: row filtering for logical replication - Mailing list pgsql-hackers

From Peter Smith
Subject Re: row filtering for logical replication
Date
Msg-id CAHut+PvOAoYXNKj5yUgg99AbcfxD-rxO=Po4i=+Qh8Xi3eYOoQ@mail.gmail.com
Whole thread Raw
In response to RE: row filtering for logical replication  ("tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>)
List pgsql-hackers
On Tue, Nov 23, 2021 at 4:40 PM tanghy.fnst@fujitsu.com
<tanghy.fnst@fujitsu.com> wrote:
>
> On Thursday, November 18, 2021 9:34 AM Peter Smith <smithpb2250@gmail.com> wrote:
> >
> > PSA new set of v40* patches.
> >
>
> I found a problem on v40. The check for Replica Identity in WHERE clause is not working properly.
>
> For example:
> postgres=# create table tbl(a int primary key, b int);
> CREATE TABLE
> postgres=# create publication pub1 for table tbl where (a>10 and b>10);
> CREATE PUBLICATION
>
> I think it should report an error because column b is not part of Replica Identity.
> This seems due to "return true" in rowfilter_expr_replident_walker function,
> maybe we should remove it.

This has already been fixed in v41* updates. Please retest when v41* is posted.

>
> Besides, a small comment on 0004 patch:
>
> +                * Multiple row-filter expressions for the same publication will later be
> +                * combined by the COPY using OR, but this means if any of the filters is
>
> Should we change it to:
> Multiple row-filter expressions for the same table ...

Yes, thanks for reporting. (added to my TODO list)

------
Kind Regards,
Peter Smith.
Fujitsu Australia



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Removing more vacuumlazy.c special cases, relfrozenxid optimizations
Next
From: Amul Sul
Date:
Subject: TAP test to cover "EndOfLogTLI != replayTLI" case