I faced a scenario where after a heavy update query (touching ~100k records) the logical replication was hung.
After enabling debug logging, we found it was spilling to disk and increased logical_decoding_work_mem from 64MB to 4GB. Replication started working after that
I am trying to understand why the replication was just hung ? Also, How do we decide for an optimal configuration of logical_decoding_work_mem.?
Even if it reaches 64MB, it should be able to spill to disk and continue, may be not at the same speed but slowly
Note: There were no subtransactions involved, it was a simple update query touching a lot of records.