Hi, The patch in [1] makes the horizon logic in procarray.c aware of temp tables not needing to care about other session's snapshots (also discussed in[2]). Extending a7212be8b9e, which did that for VACUUM, but not HOT pruning etc.
While polishing that patch I was wondering whether there are other classes of relations that we might want to treat differently. And there's one more that we don't special case right now: unlogged tables. As unlogged tables aren't replicated via physical rep, we don't need to apply vacuum_defer_cleanup_age, hot standby feedback and slot based horizons. The obvious question is, is that worth doing? My intuition is that yes, it probably is: Unlogged tables are often used for hotly updated transient state, allowing that to be cleaned up more aggressively will reduce bloat. Comments? Greetings, Andres Freund [1] https://www.postgresql.org/message-id/20201015083735.derdzysdtqdvxshp%40alap3.anarazel.de [2] https://www.postgresql.org/message-id/20201014203103.72oke6hqywcyhx7s%40alap3.anarazel.de