> However, if the autovacuum is running to prevent transaction ID wraparound (i.e., the autovacuum query name in the pg_stat_activity view ends with (to prevent wraparound)), the autovacuum is not automatically interrupted.<p>I had fought this many times before when building ETL processes on top of Postgres, especially back in 9.4 when there was a bug that caused quadratic growth of the multi-transaction IDs.<p>In fact, this was my only understanding of how vacuum locked interacted with other processes. I had no idea a normal autovacuum process would surrender to standard user operations, so that's a TIL for me.<p>Thanks for the write-up!