public inbox for [email protected]
help / color / mirror / Atom feedFrom: Akashkiran Shivakumar <[email protected]>
To: [email protected]
Subject: Can postgres replication slot using pgoutput release multiple CDC records for a single update to a particular row
Date: Tue, 29 Jul 2025 15:37:54 -0700
Message-ID: <CADTnmPjcbW07j26AxdqAsMbSJEAdHtva7Kdazmo99twuF59whw@mail.gmail.com> (raw)
Hello,
I have a postgres database (major version 13) and am doing CDC by using a
replication slot with pgoutput. In our data lake, we see that there are
multiple updates (3 in this case) happening to the same row as part of the
same transaction. This doesn't make sense if we look at them as separate
updates. The expectation was that the row was updated once and a single CDC
record was pushed out. I haven't completely ruled out whether multiple
updates happened in that transaction but I wanted to ask the community if
it is possible that a single update statement could spill over as multiple
CDC update records by pgoutput / postgres ?
If yes, could you possibly point to the testcases or code where this might
happen? Any blogs or suggestions are welcome. LMK if you need further
information
P.S: Each update seen in the data lake changes at least one field in the
row. The entire row with all the columns are pushed out for the 3 updates
seen in the data lake. From the application perspective, it makes sense if
the 3 updates were merged into a single update record
Regards,
Akashkiran
view thread (3+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected]
Subject: Re: Can postgres replication slot using pgoutput release multiple CDC records for a single update to a particular row
In-Reply-To: <CADTnmPjcbW07j26AxdqAsMbSJEAdHtva7Kdazmo99twuF59whw@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox