postgres.git / summary / log / commit / refs

commit    93dc1ace2007fe7c1103ccda3d7bc13b4eb4352f
Author:   Fujii Masao <fujii@postgresql.org>
Date:     Mon Apr 06 14:04:18 2026 +0000

    Release postmaster working memory context in slotsync worker
    
    Child processes do not need the postmaster's working memory context and
    normally release it at the start of their main entry point. However,
    the slotsync worker forgot to do so.
    
    This commit makes the slotsync worker release the postmaster's working
    memory context at startup, preventing unintended use.
    
    Author: Fujii Masao <masao.fujii@gmail.com>
    Reviewed-by: Andres Freund <andres@anarazel.de>
    Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
    Reviewed-by: Tiancheng Ge <getiancheng_2012@163.com>
    Reviewed-by: Chao Li <li.evan.chao@gmail.com>
    Discussion: https://postgr.es/m/CAHGQGwHO05JaUpgKF8FBDmPdBUJsK22axRRcgmAUc2Jyi8OK8g@mail.gmail.com


src/backend/replication/logical/slotsync.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backend/replication/logical/slotsync.c b/src/backend/replication/logical/slotsync.c index d615ff8a81c..8b53bd3ac7f 100644 --- a/src/backend/replication/logical/slotsync.c +++ b/src/backend/replication/logical/slotsync.c @@ -1494,6 +1494,13 @@ ReplSlotSyncWorkerMain(const void *startup_data, size_t startup_data_len) Assert(startup_data_len == 0); + /* Release postmaster's working memory context */ + if (PostmasterContext) + { + MemoryContextDelete(PostmasterContext); + PostmasterContext = NULL; + } + init_ps_display(NULL); Assert(GetProcessingMode() == InitProcessing); [parent: ed71d7356e3b]