Re: Incorrect messages emitted from pgoutput when using column lists
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: "houzj.fnst@fujitsu.com" <houzj.fnst@fujitsu.com>
Cc: Gunnar Morling <gunnar.morling@googlemail.com>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>
Date: 2022-11-25T10:08:42Z
Lists: pgsql-bugs
On Fri, Nov 25, 2022 at 8:16 AM houzj.fnst@fujitsu.com <houzj.fnst@fujitsu.com> wrote: > > I think the reason is that we didn't filter the column when sending the old > tuple in pgoutput. We thought that the old tuple won't include columns that not > in RI, but it seems it will still be null values for such columns in the old > tuple. > Yes, that is correct. We do fill null values for non-replica identity columns in the old tuple. See ExtractReplicaIdentity. > So, I think we'd better filter the column for old tuple as well. > Your fix looks correct to me though I haven't tested it yet. Can we think of writing a test case using pg_logical_slot_peek_binary_changes() similar to what we have in 020_messages.pl? -- With Regards, Amit Kapila.
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix incorrect output from pgoutput when using column lists.
- ebf87c019c04 15.2 landed
- 40b1491357a4 16.0 landed