> On Jan 25, 2023, at 14:21, Dirschel, Steve <steve.dirschel@xxxxxxxxxxxxxxxxxx> wrote: > From my perspective "idle in transaction" isn't necessarily a problem (although I don't like seeing sessions sitting like that for a long time). The problem is when pg_stat_activity.backend_xmin is populated- that can prevent autovacuum from cleaning up old records. I don't think that analysis is quite correct. There's nothing about backend_xmin that blocks tuple cleanup *if the transaction has been committed*. The problem is that the session is sitting in idle in transaction state, and *that* blocks tuple cleanup. The fix is to not leave sessions open in idle in transaction state.