Armand du Plessis <adp(at)bank(dot)io> writes:
> The autovacuum completed (after many hours) however it didn't seem to have
> frozen any old pages as it just kicks off again right away with the same
> reason (VACUUM ANALYZE public.messages (to prevent wraparound))
I suspect it's unable to move the table's min XID forward at all because
there is some old open transaction preventing cleanup of very old dead
tuples. Look for old xact_start times in pg_stat_activity. Also look
for old entries in pg_prepared_xacts. If you find any, get rid of them.
regards, tom lane