Skip collecting decoded changes of already-aborted transactions
Masahiko Sawada <sawada.mshk@gmail.com>
From: Masahiko Sawada <sawada.mshk@gmail.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-06-09T05:16:44Z
Lists: pgsql-hackers
Attachments
- skip_decoding_already_aborted_txn.patch (application/octet-stream) patch
Hi, In logical decoding, we don't need to collect decoded changes of aborted transactions. While streaming changes, we can detect concurrent abort of the (sub)transaction but there is no mechanism to skip decoding changes of transactions that are known to already be aborted. With the attached WIP patch, we check CLOG when decoding the transaction for the first time. If it's already known to be aborted, we skip collecting decoded changes of such transactions. That way, when the logical replication is behind or restarts, we don't need to decode large transactions that already aborted, which helps improve the decoding performance. Feedback is very welcome. Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com
Commits
-
Rename RBTXN_PREPARE to RBTXN_IS_PREPARE for better clarification.
- abfb29648f9a 18.0 landed
-
Skip logical decoding of already-aborted transactions.
- 072ee847ad4c 18.0 landed