Re: [BUG]Update Toast data failure in logical replication

Dilip Kumar <dilipbalaut@gmail.com>

From: Dilip Kumar <dilipbalaut@gmail.com>
To: "tanghy.fnst@fujitsu.com" <tanghy.fnst@fujitsu.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2021-05-31T10:09:01Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. WAL log unchanged toasted replica identity key attributes.

  2. Add new wal_level, logical, sufficient for logical decoding.

  3. Add the notion of REPLICA IDENTITY for a table.

On Mon, 31 May 2021 at 3:33 PM, tanghy.fnst@fujitsu.com <
tanghy.fnst@fujitsu.com> wrote:

> On Mon, May 31, 2021 5:12 PM Dilip Kumar <dilipbalaut@gmail.com> wrote:
> >
> > The problem is if the key attribute is not changed we don't log it as
> > it should get logged along with the updated tuple, but if it is
> > externally stored then the complete key will never be logged because
> > there is no log from the toast table.  For fixing this if the key is
> > externally stored then always log that.
> >
> > Please test with the attached patch.
>
> Thanks for your patch. I tested it and the bug was fixed.
>

Thanks for confirming this.


> I'm still trying to understand your fix, please allow me to ask more(maybe
> silly) questions if I found any.
>
> +        * if the key hasn't changedand we're only logging the key, we're
> done.
>
> I think "changedand" should be "changed and".
>

Okay, I will fix it.  Lets see what others have to say about this fix, if
we agree with this then I think we might have to change the test output. I
will do that in the next version along with your comment fix.