>>> Can we prevent HOT pruning during logical decoding? >> >> It does not sound much difficult to do, couldn't you just make it a >> no-op with am_walsender? > > That's my hope.
The only code path doing HOT-pruning and generating WAL is heap_page_prune(). Do you think that we need to worry about FPWs as well?
IMO the check should go inside heap_page_prune_opt(). Do we need to worry about wal_log_hints or checksums producing WAL because of hint bit updates? While I haven't read the thread, I am assuming if HOT pruning can happen, surely hint bits can get set too.