On 2020-09-21 17:03:53 -0400, Tom Lane wrote: > Andres Freund <and...@anarazel.de> writes: > > On 2020-09-21 16:40:40 -0400, Tom Lane wrote: > >> Andres Freund <and...@anarazel.de> writes: > >>> I think that's an argument for what I suggested elsewhere, which is that > >>> we should move the logic for a different horizon for temp tables out of > >>> vacuum_set_xid_limits, and into procarray. > > >> But procarray does not seem like a great place for > >> table-persistence-dependent decisions either? > > > That ship has sailed a long long time ago though. GetOldestXmin() has > > looked at the passed in relation for a quite a while, and even before > > that we had logic about 'allDbs' etc. It doesn't easily seem possible > > to avoid that, given how intimately that's coupled with how snapshots > > are built and used, database & vacuumFlags checks etc. > > OK. Given that you've got strong feelings about this, do you want to > propose a patch? I'm happy to fix it, since it's at least in part my > bug, but I probably won't do it exactly like you would.
I can give it a try. I can see several paths of varying invasiveness, not sure yet what the best approach is. Let me think about if for a bit. Greetings, Andres Freund