pgsql: Immediately WAL-log subtransaction and top-level XID association
От | Amit Kapila |
---|---|
Тема | pgsql: Immediately WAL-log subtransaction and top-level XID association |
Дата | |
Msg-id | E1jxMRE-0002Gi-Cs@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Immediately WAL-log subtransaction and top-level XID association. The logical decoding infrastructure needs to know which top-level transaction the subxact belongs to, in order to decode all the changes. Until now that might be delayed until commit, due to the caching (GPROC_MAX_CACHED_SUBXIDS), preventing features requiring incremental decoding. So we also write the assignment info into WAL immediately, as part of the next WAL record (to minimize overhead) only when wal_level=logical. We can not remove the existing XLOG_XACT_ASSIGNMENT WAL as that is required for avoiding overflow in the hot standby snapshot. Bump XLOG_PAGE_MAGIC, since this introduces XLR_BLOCK_ID_TOPLEVEL_XID. Author: Tomas Vondra, Dilip Kumar, Amit Kapila Reviewed-by: Amit Kapila Tested-by: Neha Sharma and Mahendra Singh Thalor Discussion: https://postgr.es/m/688b0b7f-2f6c-d827-c27b-216a8e3ea700@2ndquadrant.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/0bead9af484c1d0a67e690fda47011addaa5bc9d Modified Files -------------- src/backend/access/transam/xact.c | 50 ++++++++++++++++++++++++++++++++ src/backend/access/transam/xloginsert.c | 23 +++++++++++++-- src/backend/access/transam/xlogreader.c | 5 ++++ src/backend/replication/logical/decode.c | 44 ++++++++++++++-------------- src/include/access/xact.h | 3 ++ src/include/access/xlog.h | 1 + src/include/access/xlog_internal.h | 2 +- src/include/access/xlogreader.h | 3 ++ src/include/access/xlogrecord.h | 1 + 9 files changed, 108 insertions(+), 24 deletions(-)
В списке pgsql-committers по дате отправления: